@ionic/core 8.0.2 → 8.1.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 (431) hide show
  1. package/components/index2.js +119 -1
  2. package/components/ion-content.js +6 -4
  3. package/components/ion-datetime-button.js +2 -2
  4. package/components/ion-datetime.js +15 -13
  5. package/components/ion-fab-button.js +2 -2
  6. package/components/ion-fab-list.js +2 -2
  7. package/components/ion-fab.js +2 -2
  8. package/components/ion-footer.js +2 -2
  9. package/components/ion-grid.js +2 -2
  10. package/components/ion-header.js +2 -2
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +2 -2
  13. package/components/ion-infinite-scroll.js +1 -1
  14. package/components/ion-input-password-toggle.js +3 -3
  15. package/components/ion-input.js +8 -4
  16. package/components/ion-item-divider.js +2 -2
  17. package/components/ion-item-group.js +1 -1
  18. package/components/ion-item-option.js +2 -2
  19. package/components/ion-item-options.js +1 -1
  20. package/components/ion-item-sliding.js +1 -1
  21. package/components/ion-loading.js +2 -2
  22. package/components/ion-menu-button.js +2 -2
  23. package/components/ion-menu-toggle.js +2 -2
  24. package/components/ion-menu.js +2 -2
  25. package/components/ion-modal.js +10 -8
  26. package/components/ion-nav-link.js +1 -1
  27. package/components/ion-nav.js +1 -1
  28. package/components/ion-note.js +2 -2
  29. package/components/ion-picker-legacy.js +2 -2
  30. package/components/ion-progress-bar.js +1 -1
  31. package/components/ion-range.js +3 -3
  32. package/components/ion-refresher-content.js +1 -1
  33. package/components/ion-refresher.js +1 -1
  34. package/components/ion-reorder-group.js +1 -1
  35. package/components/ion-reorder.js +1 -1
  36. package/components/ion-router-link.js +2 -2
  37. package/components/ion-router-outlet.js +1 -1
  38. package/components/ion-row.js +1 -1
  39. package/components/ion-searchbar.js +4 -4
  40. package/components/ion-segment-button.js +3 -3
  41. package/components/ion-segment.js +2 -2
  42. package/components/ion-select-option.js +1 -1
  43. package/components/ion-select.js +2 -2
  44. package/components/ion-skeleton-text.js +2 -2
  45. package/components/ion-split-pane.js +2 -2
  46. package/components/ion-tab-bar.js +2 -2
  47. package/components/ion-tab-button.js +2 -2
  48. package/components/ion-tab.js +2 -2
  49. package/components/ion-tabs.js +1 -1
  50. package/components/ion-text.js +2 -2
  51. package/components/ion-textarea.js +2 -2
  52. package/components/ion-thumbnail.js +1 -1
  53. package/components/ion-title.js +2 -2
  54. package/components/ion-toast.js +2 -2
  55. package/components/ion-toggle.js +3 -3
  56. package/components/ion-toolbar.js +2 -2
  57. package/components/label.js +2 -2
  58. package/components/list-header.js +2 -2
  59. package/components/list.js +1 -1
  60. package/components/overlays.js +3 -2
  61. package/components/picker-column-option.js +2 -2
  62. package/components/picker-column.js +156 -4
  63. package/components/picker-column2.js +2 -2
  64. package/components/picker.js +2 -2
  65. package/components/popover.js +6 -4
  66. package/components/radio-group.js +1 -1
  67. package/components/radio.js +3 -3
  68. package/components/ripple-effect.js +1 -1
  69. package/components/select-popover.js +1 -1
  70. package/components/spinner.js +1 -1
  71. package/css/core.css +1 -1
  72. package/css/core.css.map +1 -1
  73. package/css/ionic.bundle.css +1 -1
  74. package/css/ionic.bundle.css.map +1 -1
  75. package/dist/cjs/{index-6047957b.js → index-c0b7f8f4.js} +124 -6
  76. package/dist/cjs/index.cjs.js +5 -5
  77. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-app_8.cjs.entry.js +15 -14
  80. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-datetime_3.cjs.entry.js +20 -18
  84. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  85. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  87. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  88. package/dist/cjs/ion-input.cjs.entry.js +7 -4
  89. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  91. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  93. package/dist/cjs/ion-modal.cjs.entry.js +10 -9
  94. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -3
  95. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  96. package/dist/cjs/ion-picker-column.cjs.entry.js +154 -4
  97. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-popover.cjs.entry.js +6 -5
  99. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  101. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  102. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  105. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  106. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  107. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  108. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  109. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  110. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  115. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  117. package/dist/cjs/ionic.cjs.js +1 -1
  118. package/dist/cjs/{ios.transition-59b0e1d9.js → ios.transition-5ddf92f1.js} +3 -1
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{md.transition-0cc7c831.js → md.transition-047c18c5.js} +3 -1
  121. package/dist/cjs/{overlays-2feabb85.js → overlays-cb04d075.js} +3 -1
  122. package/dist/collection/components/content/content.js +23 -4
  123. package/dist/collection/components/content/test/content.spec.js +27 -0
  124. package/dist/collection/components/datetime/datetime.js +15 -13
  125. package/dist/collection/components/datetime/test/overlay-roles/datetime.e2e.js +34 -0
  126. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  127. package/dist/collection/components/fab/fab.js +2 -2
  128. package/dist/collection/components/fab-button/fab-button.js +2 -2
  129. package/dist/collection/components/fab-list/fab-list.js +2 -2
  130. package/dist/collection/components/footer/footer.js +2 -2
  131. package/dist/collection/components/grid/grid.js +2 -2
  132. package/dist/collection/components/header/header.js +2 -2
  133. package/dist/collection/components/img/img.js +1 -1
  134. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  135. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  136. package/dist/collection/components/input/input.js +24 -4
  137. package/dist/collection/components/input/test/input.spec.js +13 -0
  138. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  139. package/dist/collection/components/item-divider/item-divider.js +2 -2
  140. package/dist/collection/components/item-group/item-group.js +1 -1
  141. package/dist/collection/components/item-option/item-option.js +2 -2
  142. package/dist/collection/components/item-options/item-options.js +1 -1
  143. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  144. package/dist/collection/components/label/label.js +2 -2
  145. package/dist/collection/components/list/list.js +1 -1
  146. package/dist/collection/components/list-header/list-header.js +2 -2
  147. package/dist/collection/components/loading/loading.js +2 -2
  148. package/dist/collection/components/menu/menu.js +2 -2
  149. package/dist/collection/components/menu-button/menu-button.js +2 -2
  150. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  151. package/dist/collection/components/modal/gestures/sheet.js +3 -2
  152. package/dist/collection/components/modal/modal.js +25 -6
  153. package/dist/collection/components/modal/test/basic/modal.spec.js +19 -0
  154. package/dist/collection/components/nav/nav.js +1 -1
  155. package/dist/collection/components/nav-link/nav-link.js +1 -1
  156. package/dist/collection/components/note/note.js +2 -2
  157. package/dist/collection/components/picker/picker.js +2 -2
  158. package/dist/collection/components/picker-column/picker-column.css +19 -0
  159. package/dist/collection/components/picker-column/picker-column.js +158 -3
  160. package/dist/collection/components/picker-column/test/picker-column.spec.js +83 -0
  161. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  162. package/dist/collection/components/picker-legacy/picker.js +2 -2
  163. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  164. package/dist/collection/components/popover/popover.js +23 -4
  165. package/dist/collection/components/popover/test/basic/popover.spec.js +19 -0
  166. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  167. package/dist/collection/components/radio/radio.js +3 -3
  168. package/dist/collection/components/radio-group/radio-group.js +1 -1
  169. package/dist/collection/components/range/range.js +3 -3
  170. package/dist/collection/components/refresher/refresher.js +1 -1
  171. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  172. package/dist/collection/components/reorder/reorder.js +1 -1
  173. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  174. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  175. package/dist/collection/components/router-link/router-link.js +2 -2
  176. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  177. package/dist/collection/components/row/row.js +1 -1
  178. package/dist/collection/components/searchbar/searchbar.js +4 -4
  179. package/dist/collection/components/segment/segment.js +2 -2
  180. package/dist/collection/components/segment-button/segment-button.js +3 -3
  181. package/dist/collection/components/select/select.js +2 -2
  182. package/dist/collection/components/select-option/select-option.js +1 -1
  183. package/dist/collection/components/select-popover/select-popover.js +1 -1
  184. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  185. package/dist/collection/components/spinner/spinner.js +1 -1
  186. package/dist/collection/components/split-pane/split-pane.js +2 -2
  187. package/dist/collection/components/tab/tab.js +2 -2
  188. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  189. package/dist/collection/components/tab-button/tab-button.js +2 -2
  190. package/dist/collection/components/tabs/tabs.js +1 -1
  191. package/dist/collection/components/text/text.js +2 -2
  192. package/dist/collection/components/textarea/textarea.js +2 -2
  193. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  194. package/dist/collection/components/title/title.js +2 -2
  195. package/dist/collection/components/toast/toast.js +2 -2
  196. package/dist/collection/components/toggle/toggle.js +3 -3
  197. package/dist/collection/components/toolbar/toolbar.js +2 -2
  198. package/dist/collection/utils/focus-controller/index.js +112 -0
  199. package/dist/collection/utils/focus-controller/test/generic/focus-controller.e2e.js +52 -0
  200. package/dist/collection/utils/focus-controller/test/ionic/focus-controller.e2e.js +52 -0
  201. package/dist/collection/utils/overlays.js +2 -1
  202. package/dist/collection/utils/transition/index.js +11 -1
  203. package/dist/docs.json +96 -1
  204. package/dist/esm/{index-f4460246.js → index-8e6b6a24.js} +121 -3
  205. package/dist/esm/index.js +5 -5
  206. package/dist/esm/ion-action-sheet.entry.js +1 -1
  207. package/dist/esm/ion-alert.entry.js +1 -1
  208. package/dist/esm/ion-app_8.entry.js +15 -14
  209. package/dist/esm/ion-avatar_3.entry.js +1 -1
  210. package/dist/esm/ion-col_3.entry.js +3 -3
  211. package/dist/esm/ion-datetime-button.entry.js +2 -2
  212. package/dist/esm/ion-datetime_3.entry.js +20 -18
  213. package/dist/esm/ion-fab_3.entry.js +6 -6
  214. package/dist/esm/ion-img.entry.js +1 -1
  215. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  216. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  217. package/dist/esm/ion-input.entry.js +7 -4
  218. package/dist/esm/ion-item-option_3.entry.js +4 -4
  219. package/dist/esm/ion-item_8.entry.js +12 -12
  220. package/dist/esm/ion-loading.entry.js +3 -3
  221. package/dist/esm/ion-menu_3.entry.js +7 -7
  222. package/dist/esm/ion-modal.entry.js +10 -9
  223. package/dist/esm/ion-nav_2.entry.js +4 -3
  224. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  225. package/dist/esm/ion-picker-column.entry.js +154 -4
  226. package/dist/esm/ion-picker.entry.js +2 -2
  227. package/dist/esm/ion-popover.entry.js +6 -5
  228. package/dist/esm/ion-progress-bar.entry.js +1 -1
  229. package/dist/esm/ion-radio_2.entry.js +4 -4
  230. package/dist/esm/ion-range.entry.js +3 -3
  231. package/dist/esm/ion-refresher_2.entry.js +2 -2
  232. package/dist/esm/ion-reorder_2.entry.js +2 -2
  233. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  234. package/dist/esm/ion-route_4.entry.js +2 -2
  235. package/dist/esm/ion-searchbar.entry.js +4 -4
  236. package/dist/esm/ion-segment_2.entry.js +5 -5
  237. package/dist/esm/ion-select_3.entry.js +5 -5
  238. package/dist/esm/ion-spinner.entry.js +1 -1
  239. package/dist/esm/ion-split-pane.entry.js +2 -2
  240. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  241. package/dist/esm/ion-tab_2.entry.js +3 -3
  242. package/dist/esm/ion-text.entry.js +2 -2
  243. package/dist/esm/ion-textarea.entry.js +2 -2
  244. package/dist/esm/ion-toast.entry.js +3 -3
  245. package/dist/esm/ion-toggle.entry.js +3 -3
  246. package/dist/esm/ionic.js +1 -1
  247. package/dist/esm/{ios.transition-72f59adb.js → ios.transition-e35d0940.js} +3 -1
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/{md.transition-ef0437fe.js → md.transition-4b90a1f0.js} +3 -1
  250. package/dist/esm/{overlays-56045efc.js → overlays-df2c06b2.js} +3 -2
  251. package/dist/esm-es5/index-8e6b6a24.js +4 -0
  252. package/dist/esm-es5/index.js +1 -1
  253. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  254. package/dist/esm-es5/ion-alert.entry.js +1 -1
  255. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  256. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  257. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  258. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  259. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  260. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  261. package/dist/esm-es5/ion-img.entry.js +1 -1
  262. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  263. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  264. package/dist/esm-es5/ion-input.entry.js +1 -1
  265. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  266. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  267. package/dist/esm-es5/ion-loading.entry.js +1 -1
  268. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  269. package/dist/esm-es5/ion-modal.entry.js +1 -1
  270. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  271. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  272. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  273. package/dist/esm-es5/ion-picker.entry.js +1 -1
  274. package/dist/esm-es5/ion-popover.entry.js +1 -1
  275. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  276. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  277. package/dist/esm-es5/ion-range.entry.js +1 -1
  278. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  279. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  280. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  281. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  282. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  283. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  284. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  285. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  286. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  287. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  288. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  289. package/dist/esm-es5/ion-text.entry.js +1 -1
  290. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  291. package/dist/esm-es5/ion-toast.entry.js +1 -1
  292. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  293. package/dist/esm-es5/ionic.js +1 -1
  294. package/dist/esm-es5/ios.transition-e35d0940.js +4 -0
  295. package/dist/esm-es5/loader.js +1 -1
  296. package/dist/esm-es5/md.transition-4b90a1f0.js +4 -0
  297. package/dist/esm-es5/{overlays-56045efc.js → overlays-df2c06b2.js} +1 -1
  298. package/dist/html.html-data.json +24 -0
  299. package/dist/ionic/index.esm.js +1 -1
  300. package/dist/ionic/ionic.esm.js +1 -1
  301. package/dist/ionic/{p-e58a04ae.system.entry.js → p-01a27023.system.entry.js} +1 -1
  302. package/dist/ionic/p-0395be73.entry.js +4 -0
  303. package/dist/ionic/p-049d43bd.entry.js +4 -0
  304. package/dist/ionic/p-0536574e.entry.js +4 -0
  305. package/dist/ionic/{p-4f17f03d.entry.js → p-09538818.entry.js} +1 -1
  306. package/dist/ionic/{p-9c5b6727.entry.js → p-09b4e9ec.entry.js} +1 -1
  307. package/dist/ionic/{p-22ef5198.system.entry.js → p-0a6d801e.system.entry.js} +1 -1
  308. package/dist/ionic/{p-dc242acb.system.entry.js → p-0b007acc.system.entry.js} +1 -1
  309. package/dist/ionic/{p-100d079f.system.entry.js → p-10feef7e.system.entry.js} +1 -1
  310. package/dist/ionic/p-15d1ddba.js +4 -0
  311. package/dist/ionic/{p-2bd9b326.system.entry.js → p-199f826f.system.entry.js} +1 -1
  312. package/dist/ionic/p-1b435d20.entry.js +4 -0
  313. package/dist/ionic/{p-7cf7ef9f.entry.js → p-1eb63fa4.entry.js} +1 -1
  314. package/dist/ionic/{p-672b53f3.entry.js → p-207e11dc.entry.js} +1 -1
  315. package/dist/ionic/{p-32df9442.entry.js → p-29de09dd.entry.js} +1 -1
  316. package/dist/ionic/p-30baae57.system.js +1 -1
  317. package/dist/ionic/p-33e10509.system.js +4 -0
  318. package/dist/ionic/{p-eed23392.system.entry.js → p-380efbfa.system.entry.js} +1 -1
  319. package/dist/ionic/p-3c27be4a.entry.js +4 -0
  320. package/dist/ionic/{p-022bc8ff.entry.js → p-3f53a0b1.entry.js} +1 -1
  321. package/dist/ionic/{p-0ae12601.entry.js → p-433157a4.entry.js} +1 -1
  322. package/dist/ionic/p-498eb648.system.entry.js +4 -0
  323. package/dist/ionic/{p-eaac2522.system.entry.js → p-4d8f408d.system.entry.js} +1 -1
  324. package/dist/ionic/{p-44edbb29.system.entry.js → p-509620b8.system.entry.js} +1 -1
  325. package/dist/ionic/{p-797fc793.entry.js → p-5109a566.entry.js} +1 -1
  326. package/dist/ionic/{p-af6c2b39.entry.js → p-52ce473d.entry.js} +1 -1
  327. package/dist/ionic/{p-4ba654fa.system.entry.js → p-57bc32e2.system.entry.js} +1 -1
  328. package/dist/ionic/p-5dc9f99a.entry.js +4 -0
  329. package/dist/ionic/p-5ec3bb70.system.entry.js +4 -0
  330. package/dist/ionic/{p-0300cf19.system.entry.js → p-62e44e4a.system.entry.js} +1 -1
  331. package/dist/ionic/p-66ed603b.js +4 -0
  332. package/dist/ionic/p-68bb9870.system.entry.js +4 -0
  333. package/dist/ionic/{p-2912d62c.system.entry.js → p-6a2cf398.system.entry.js} +1 -1
  334. package/dist/ionic/{p-7f512c4d.system.entry.js → p-6df12af0.system.entry.js} +1 -1
  335. package/dist/ionic/{p-5d723a0a.entry.js → p-6ec88301.entry.js} +1 -1
  336. package/dist/ionic/p-6f008ad2.js +4 -0
  337. package/dist/ionic/{p-86a7576c.system.entry.js → p-700567ab.system.entry.js} +1 -1
  338. package/dist/ionic/p-712d54ae.js +4 -0
  339. package/dist/ionic/{p-508d5d0d.entry.js → p-7349de07.entry.js} +1 -1
  340. package/dist/ionic/{p-3098a7cb.entry.js → p-78405458.entry.js} +1 -1
  341. package/dist/ionic/{p-cac9bd5d.entry.js → p-7eb47906.entry.js} +1 -1
  342. package/dist/ionic/{p-637e85a2.entry.js → p-80265a58.entry.js} +1 -1
  343. package/dist/ionic/{p-f8b4ac1f.system.entry.js → p-83d748f8.system.entry.js} +2 -2
  344. package/dist/ionic/{p-3b974a28.entry.js → p-8a03fbee.entry.js} +1 -1
  345. package/dist/ionic/{p-a23a7b64.system.entry.js → p-8cb80f83.system.entry.js} +1 -1
  346. package/dist/ionic/{p-bae97f84.system.entry.js → p-8d14ee8c.system.entry.js} +2 -2
  347. package/dist/ionic/{p-61d8c43c.system.entry.js → p-9213681c.system.entry.js} +1 -1
  348. package/dist/ionic/p-92d7e99d.system.js +4 -0
  349. package/dist/ionic/{p-e1f7425b.system.entry.js → p-9664a1a2.system.entry.js} +1 -1
  350. package/dist/ionic/{p-762156c0.entry.js → p-9797f6eb.entry.js} +1 -1
  351. package/dist/ionic/{p-dba28cb1.system.entry.js → p-9848d7be.system.entry.js} +1 -1
  352. package/dist/ionic/{p-5b183a1c.entry.js → p-99884813.entry.js} +1 -1
  353. package/dist/ionic/{p-a87cdd33.system.entry.js → p-99ca9787.system.entry.js} +1 -1
  354. package/dist/ionic/{p-a51b22fb.system.entry.js → p-9bfd7cda.system.entry.js} +1 -1
  355. package/dist/ionic/p-9c6dcf78.system.entry.js +4 -0
  356. package/dist/ionic/{p-1ae3a136.system.entry.js → p-a2e94ade.system.entry.js} +1 -1
  357. package/dist/ionic/p-a488b7ab.system.js +4 -0
  358. package/dist/ionic/{p-18470679.entry.js → p-a4ab7449.entry.js} +1 -1
  359. package/dist/ionic/{p-5d26afde.system.entry.js → p-a50f23bf.system.entry.js} +2 -2
  360. package/dist/ionic/p-a6a8b478.system.entry.js +4 -0
  361. package/dist/ionic/{p-47212f88.system.entry.js → p-a76ab3ea.system.entry.js} +1 -1
  362. package/dist/ionic/{p-3a3d5a1a.entry.js → p-aaaaaea1.entry.js} +1 -1
  363. package/dist/ionic/{p-cfbf4588.entry.js → p-b02eda30.entry.js} +1 -1
  364. package/dist/ionic/{p-8162bcf4.entry.js → p-b04c27d8.entry.js} +1 -1
  365. package/dist/ionic/{p-a822c02f.system.entry.js → p-b07affd5.system.entry.js} +1 -1
  366. package/dist/ionic/{p-15daa308.system.entry.js → p-b28d3ccb.system.entry.js} +2 -2
  367. package/dist/ionic/{p-3fefc7cd.entry.js → p-b563b6ac.entry.js} +1 -1
  368. package/dist/ionic/{p-27206537.system.entry.js → p-b9181033.system.entry.js} +1 -1
  369. package/dist/ionic/{p-6143e16a.entry.js → p-ba70039f.entry.js} +1 -1
  370. package/dist/ionic/{p-74806c03.entry.js → p-bbbe869e.entry.js} +1 -1
  371. package/dist/ionic/p-c0e9ba51.entry.js +4 -0
  372. package/dist/ionic/p-c5dd0892.system.entry.js +4 -0
  373. package/dist/ionic/p-cec8589b.system.js +4 -0
  374. package/dist/ionic/{p-939dbcc6.system.entry.js → p-d69b26d9.system.entry.js} +1 -1
  375. package/dist/ionic/p-d9f3d68a.entry.js +4 -0
  376. package/dist/ionic/{p-fb088c7d.system.entry.js → p-dc0d9ff5.system.entry.js} +2 -2
  377. package/dist/ionic/{p-53c46dd1.entry.js → p-dc1e363a.entry.js} +1 -1
  378. package/dist/ionic/{p-4c103f8d.system.entry.js → p-e0a8ffd0.system.entry.js} +1 -1
  379. package/dist/ionic/{p-091697a4.system.entry.js → p-e6e197f5.system.entry.js} +1 -1
  380. package/dist/ionic/{p-2d641da7.entry.js → p-e6e88ab9.entry.js} +1 -1
  381. package/dist/ionic/{p-f14daa66.system.js → p-eb3023c9.system.js} +1 -1
  382. package/dist/ionic/p-ecbdbf25.system.entry.js +4 -0
  383. package/dist/ionic/{p-3dd57c9c.system.entry.js → p-ed5aebaa.system.entry.js} +1 -1
  384. package/dist/ionic/p-f0e81ddb.entry.js +4 -0
  385. package/dist/ionic/{p-d979153a.entry.js → p-f357707e.entry.js} +1 -1
  386. package/dist/ionic/{p-430a7e95.entry.js → p-f53bcebd.entry.js} +1 -1
  387. package/dist/ionic/p-f9baf25c.entry.js +4 -0
  388. package/dist/ionic/{p-307c6b05.entry.js → p-fa8f2e62.entry.js} +1 -1
  389. package/dist/ionic/{p-05a8a97d.system.entry.js → p-fb21fd1c.system.entry.js} +1 -1
  390. package/dist/ionic/{p-23610251.entry.js → p-fcecca8f.entry.js} +1 -1
  391. package/dist/types/components/content/content.d.ts +8 -0
  392. package/dist/types/components/input/input.d.ts +4 -0
  393. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  394. package/dist/types/components/modal/modal.d.ts +18 -0
  395. package/dist/types/components/picker-column/picker-column.d.ts +35 -0
  396. package/dist/types/components/popover/popover-interface.d.ts +1 -0
  397. package/dist/types/components/popover/popover.d.ts +18 -0
  398. package/dist/types/components.d.ts +32 -0
  399. package/dist/types/utils/config.d.ts +9 -0
  400. package/dist/types/utils/focus-controller/index.d.ts +13 -0
  401. package/dist/types/utils/overlays.d.ts +1 -0
  402. package/hydrate/index.js +426 -146
  403. package/package.json +1 -1
  404. package/dist/esm-es5/index-f4460246.js +0 -4
  405. package/dist/esm-es5/ios.transition-72f59adb.js +0 -4
  406. package/dist/esm-es5/md.transition-ef0437fe.js +0 -4
  407. package/dist/ionic/p-00d9d02d.js +0 -4
  408. package/dist/ionic/p-0df52fbc.entry.js +0 -4
  409. package/dist/ionic/p-16b35bc9.system.entry.js +0 -4
  410. package/dist/ionic/p-19d50867.system.entry.js +0 -4
  411. package/dist/ionic/p-3b185894.system.js +0 -4
  412. package/dist/ionic/p-3bece4aa.entry.js +0 -4
  413. package/dist/ionic/p-3ce83c9b.entry.js +0 -4
  414. package/dist/ionic/p-439b8b3c.system.entry.js +0 -4
  415. package/dist/ionic/p-657157d7.entry.js +0 -4
  416. package/dist/ionic/p-6636ef29.js +0 -4
  417. package/dist/ionic/p-6a5fe8b0.js +0 -4
  418. package/dist/ionic/p-6c64aef2.entry.js +0 -4
  419. package/dist/ionic/p-7f189103.system.entry.js +0 -4
  420. package/dist/ionic/p-99c42ae3.entry.js +0 -4
  421. package/dist/ionic/p-aa71aee7.js +0 -4
  422. package/dist/ionic/p-b4a034c8.system.js +0 -4
  423. package/dist/ionic/p-b6d4e78d.system.entry.js +0 -4
  424. package/dist/ionic/p-b9c741b6.entry.js +0 -4
  425. package/dist/ionic/p-cab332d1.system.js +0 -4
  426. package/dist/ionic/p-cc3fc234.entry.js +0 -4
  427. package/dist/ionic/p-d0d2827d.system.entry.js +0 -4
  428. package/dist/ionic/p-d78ce4cc.system.entry.js +0 -4
  429. package/dist/ionic/p-e95ac94c.entry.js +0 -4
  430. package/dist/ionic/p-f2026596.system.js +0 -4
  431. package/dist/ionic/p-f350f4c2.entry.js +0 -4
@@ -1,4 +1,4 @@
1
1
  var __awaiter=this&&this.__awaiter||function(t,o,r,i){function a(t){return t instanceof r?t:new r((function(o){o(t)}))}return new(r||(r=Promise))((function(r,n){function e(t){try{c(i.next(t))}catch(t){n(t)}}function s(t){try{c(i["throw"](t))}catch(t){n(t)}}function c(t){t.done?r(t.value):a(t.value).then(e,s)}c((i=i.apply(t,o||[])).next())}))};var __generator=this&&this.__generator||function(t,o){var r={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,a,n,e;return e={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(e[Symbol.iterator]=function(){return this}),e;function s(t){return function(o){return c([t,o])}}function c(s){if(i)throw new TypeError("Generator is already executing.");while(e&&(e=0,s[0]&&(r=0)),r)try{if(i=1,a&&(n=s[0]&2?a["return"]:s[0]?a["throw"]||((n=a["return"])&&n.call(a),0):a.next)&&!(n=n.call(a,s[1])).done)return n;if(a=0,n)s=[s[0]&2,n.value];switch(s[0]){case 0:case 1:n=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;a=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(n=r.trys,n=n.length>0&&n[n.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!n||s[1]>n[0]&&s[1]<n[3])){r.label=s[1];break}if(s[0]===6&&r.label<n[1]){r.label=n[1];n=s;break}if(n&&r.label<n[2]){r.label=n[2];r.ops.push(s);break}if(n[2])r.ops.pop();r.trys.pop();continue}s=o.call(t,r)}catch(t){s=[6,t];a=0}finally{i=n=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * (C) Ionic http://ionicframework.com - MIT License
4
- */System.register(["./p-3d015cdb.system.js","./p-31d27232.system.js","./p-3ad285e3.system.js","./p-4609d030.system.js","./p-1e955a45.system.js"],(function(t){"use strict";var o,r,i,a,n,e,s,c,l,b,d;return{setters:[function(t){o=t.r;r=t.h;i=t.f;a=t.i;n=t.d},function(t){e=t.b},function(t){s=t.i},function(t){c=t.h;l=t.o;b=t.c},function(t){d=t.t}],execute:function(){var f=":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";var u=f;var p=t("ion_fab",function(){function t(t){o(this,t);this.horizontal=undefined;this.vertical=undefined;this.edge=false;this.activated=false}t.prototype.activatedChanged=function(){var t=this.activated;var o=this.getFab();if(o){o.activated=t}Array.from(this.el.querySelectorAll("ion-fab-list")).forEach((function(o){o.activated=t}))};t.prototype.componentDidLoad=function(){if(this.activated){this.activatedChanged()}};t.prototype.close=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.activated=false;return[2]}))}))};t.prototype.getFab=function(){return this.el.querySelector("ion-fab-button")};t.prototype.toggle=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(o){t=!!this.el.querySelector("ion-fab-list");if(t){this.activated=!this.activated}return[2]}))}))};t.prototype.render=function(){var t;var o=this,a=o.horizontal,n=o.vertical,s=o.edge;var c=e(this);return r(i,{key:"8a310806d0e748d7ebb0ed3d9a2652038e0f2960",class:(t={},t[c]=true,t["fab-horizontal-".concat(a)]=a!==undefined,t["fab-vertical-".concat(n)]=n!==undefined,t["fab-edge"]=s,t)},r("slot",{key:"9394ef6d6e5b0410fa6ba212171f687fb178ce2d"}))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{activated:["activatedChanged"]}},enumerable:false,configurable:true});return t}());p.style=u;var h=':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}';var g=h;var v=':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}';var m=v;var k=t("ion_fab_button",function(){function t(t){var r=this;o(this,t);this.ionFocus=n(this,"ionFocus",7);this.ionBlur=n(this,"ionBlur",7);this.fab=null;this.inheritedAttributes={};this.onFocus=function(){r.ionFocus.emit()};this.onBlur=function(){r.ionBlur.emit()};this.onClick=function(){var t=r.fab;if(!t){return}t.toggle()};this.color=undefined;this.activated=false;this.disabled=false;this.download=undefined;this.href=undefined;this.rel=undefined;this.routerDirection="forward";this.routerAnimation=undefined;this.target=undefined;this.show=false;this.translucent=false;this.type="button";this.size=undefined;this.closeIcon=d}t.prototype.connectedCallback=function(){this.fab=this.el.closest("ion-fab")};t.prototype.componentWillLoad=function(){this.inheritedAttributes=s(this.el)};t.prototype.render=function(){var t;var o=this;var a=this,n=a.el,s=a.disabled,d=a.color,f=a.href,u=a.activated,p=a.show,h=a.translucent,g=a.size,v=a.inheritedAttributes;var m=c("ion-fab-list",n);var k=e(this);var x=f===undefined?"button":"a";var w=x==="button"?{type:this.type}:{download:this.download,href:f,rel:this.rel,target:this.target};return r(i,{key:"4eee204d20b0e2ffed49a88f6cb3e04b6697965c",onClick:this.onClick,"aria-disabled":s?"true":null,class:b(d,(t={},t[k]=true,t["fab-button-in-list"]=m,t["fab-button-translucent-in-list"]=m&&h,t["fab-button-close-active"]=u,t["fab-button-show"]=p,t["fab-button-disabled"]=s,t["fab-button-translucent"]=h,t["ion-activatable"]=true,t["ion-focusable"]=true,t["fab-button-".concat(g)]=g!==undefined,t))},r(x,Object.assign({key:"914561622c0c6bd41453e828a7d8a39f924875ac"},w,{class:"button-native",part:"native",disabled:s,onFocus:this.onFocus,onBlur:this.onBlur,onClick:function(t){return l(f,t,o.routerDirection,o.routerAnimation)}},v),r("ion-icon",{key:"2c8090742a64c62a79243667027a195cca9d5912","aria-hidden":"true",icon:this.closeIcon,part:"close-icon",class:"close-icon",lazy:false}),r("span",{key:"c3e55291e4c4d306d34a4b95dd2e727e87bdf39c",class:"button-inner"},r("slot",{key:"f8e57f71d8f8878d9746cfece82f57f19ef9e988"})),k==="md"&&r("ion-ripple-effect",{key:"a5e94fa0bb9836072300617245ed0c1b4887bac6"})))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());k.style={ios:g,md:m};var x=":host{margin-left:0;margin-right:0;margin-top:calc(100% + 10px);margin-bottom:calc(100% + 10px);display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.fab-list-side-start){inset-inline-end:0}:host(.fab-list-side-end){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row;flex-direction:row}:host(.fab-list-side-end){inset-inline-start:0}";var w=x;var y=t("ion_fab_list",function(){function t(t){o(this,t);this.activated=false;this.side="bottom"}t.prototype.activatedChanged=function(t){var o=Array.from(this.el.querySelectorAll("ion-fab-button"));var r=t?30:0;o.forEach((function(o,i){setTimeout((function(){return o.show=t}),i*r)}))};t.prototype.render=function(){var t;var o=e(this);return r(i,{key:"64b33366447f66c7f979cfac56307fbb1a6fac1c",class:(t={},t[o]=true,t["fab-list-active"]=this.activated,t["fab-list-side-".concat(this.side)]=true,t)},r("slot",{key:"d9f474f7f20fd7e813db358fddc720534ca05bb6"}))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{activated:["activatedChanged"]}},enumerable:false,configurable:true});return t}());y.style=w}}}));
4
+ */System.register(["./p-3d015cdb.system.js","./p-31d27232.system.js","./p-3ad285e3.system.js","./p-4609d030.system.js","./p-1e955a45.system.js"],(function(t){"use strict";var o,r,i,a,n,e,s,c,l,b,d;return{setters:[function(t){o=t.r;r=t.h;i=t.f;a=t.i;n=t.d},function(t){e=t.b},function(t){s=t.i},function(t){c=t.h;l=t.o;b=t.c},function(t){d=t.t}],execute:function(){var f=":host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}";var u=f;var p=t("ion_fab",function(){function t(t){o(this,t);this.horizontal=undefined;this.vertical=undefined;this.edge=false;this.activated=false}t.prototype.activatedChanged=function(){var t=this.activated;var o=this.getFab();if(o){o.activated=t}Array.from(this.el.querySelectorAll("ion-fab-list")).forEach((function(o){o.activated=t}))};t.prototype.componentDidLoad=function(){if(this.activated){this.activatedChanged()}};t.prototype.close=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.activated=false;return[2]}))}))};t.prototype.getFab=function(){return this.el.querySelector("ion-fab-button")};t.prototype.toggle=function(){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(o){t=!!this.el.querySelector("ion-fab-list");if(t){this.activated=!this.activated}return[2]}))}))};t.prototype.render=function(){var t;var o=this,a=o.horizontal,n=o.vertical,s=o.edge;var c=e(this);return r(i,{key:"cb44cf6486b0a6439b99da87c065b0b52e2514f4",class:(t={},t[c]=true,t["fab-horizontal-".concat(a)]=a!==undefined,t["fab-vertical-".concat(n)]=n!==undefined,t["fab-edge"]=s,t)},r("slot",{key:"1ed484c7ecb10cd81fbca9a4f5c4049bf82f9f8a"}))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{activated:["activatedChanged"]}},enumerable:false,configurable:true});return t}());p.style=u;var h=':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:var(--ion-color-primary-shade, #004acd);--background-focused:var(--ion-color-primary-shade, #004acd);--background-hover:var(--ion-color-primary-tint, #1a65eb);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transition:0.2s transform cubic-bezier(0.25, 1.11, 0.78, 1.59);--close-icon-font-size:28px}:host(.ion-activated){--box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);--transform:scale(1.1);--transition:0.2s transform ease-out}::slotted(ion-icon){font-size:28px}:host(.fab-button-in-list){--background:var(--ion-color-light, #f4f5f8);--background-activated:var(--ion-color-light-shade, #d7d8da);--background-focused:var(--background-activated);--background-hover:var(--ion-color-light-tint, #f5f6f9);--color:var(--ion-color-light-contrast, #000);--color-activated:var(--ion-color-light-contrast, #000);--color-focused:var(--color-activated);--transition:transform 200ms ease 10ms, opacity 200ms ease 10ms}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}:host(.ion-color.ion-focused) .button-native,:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after,:host(.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent){--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.9);--background-hover:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.8);--background-focused:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.82);--backdrop-filter:saturate(180%) blur(20px)}:host(.fab-button-translucent-in-list){--background:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.9);--background-hover:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.8);--background-focused:rgba(var(--ion-color-light-rgb, 244, 245, 248), 0.82)}}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){@media (any-hover: hover){:host(.fab-button-translucent.ion-color:hover) .button-native{background:rgba(var(--ion-color-base-rgb), 0.8)}}:host(.ion-color.fab-button-translucent) .button-native{background:rgba(var(--ion-color-base-rgb), 0.9)}:host(.ion-color.ion-focused.fab-button-translucent) .button-native,:host(.ion-color.ion-activated.fab-button-translucent) .button-native{background:var(--ion-color-base)}}';var g=h;var v=':host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;-webkit-transform:var(--transform);transform:var(--transform);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0}.button-inner{left:0;right:0;top:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}.close-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;-webkit-transform:scale(0.4) rotateZ(-45deg);transform:scale(0.4) rotateZ(-45deg);-webkit-transition:all ease-in-out 300ms;transition:all ease-in-out 300ms;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;font-size:var(--close-icon-font-size);opacity:0;z-index:1}:host(.fab-button-close-active) .close-icon{-webkit-transform:scale(1) rotateZ(0deg);transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{-webkit-transform:scale(0.4) rotateZ(45deg);transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.fab-button-translucent) .button-native{-webkit-backdrop-filter:var(--backdrop-filter);backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #0054e9);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}';var m=v;var k=t("ion_fab_button",function(){function t(t){var r=this;o(this,t);this.ionFocus=n(this,"ionFocus",7);this.ionBlur=n(this,"ionBlur",7);this.fab=null;this.inheritedAttributes={};this.onFocus=function(){r.ionFocus.emit()};this.onBlur=function(){r.ionBlur.emit()};this.onClick=function(){var t=r.fab;if(!t){return}t.toggle()};this.color=undefined;this.activated=false;this.disabled=false;this.download=undefined;this.href=undefined;this.rel=undefined;this.routerDirection="forward";this.routerAnimation=undefined;this.target=undefined;this.show=false;this.translucent=false;this.type="button";this.size=undefined;this.closeIcon=d}t.prototype.connectedCallback=function(){this.fab=this.el.closest("ion-fab")};t.prototype.componentWillLoad=function(){this.inheritedAttributes=s(this.el)};t.prototype.render=function(){var t;var o=this;var a=this,n=a.el,s=a.disabled,d=a.color,f=a.href,u=a.activated,p=a.show,h=a.translucent,g=a.size,v=a.inheritedAttributes;var m=c("ion-fab-list",n);var k=e(this);var x=f===undefined?"button":"a";var w=x==="button"?{type:this.type}:{download:this.download,href:f,rel:this.rel,target:this.target};return r(i,{key:"eb347f7d6749c40637540d84778eb8d1b667a947",onClick:this.onClick,"aria-disabled":s?"true":null,class:b(d,(t={},t[k]=true,t["fab-button-in-list"]=m,t["fab-button-translucent-in-list"]=m&&h,t["fab-button-close-active"]=u,t["fab-button-show"]=p,t["fab-button-disabled"]=s,t["fab-button-translucent"]=h,t["ion-activatable"]=true,t["ion-focusable"]=true,t["fab-button-".concat(g)]=g!==undefined,t))},r(x,Object.assign({key:"83e853c8815f41543c848eb2e05ec2bb1716110a"},w,{class:"button-native",part:"native",disabled:s,onFocus:this.onFocus,onBlur:this.onBlur,onClick:function(t){return l(f,t,o.routerDirection,o.routerAnimation)}},v),r("ion-icon",{key:"798deede94de658e4345acf7c2aafe2ab2567b0b","aria-hidden":"true",icon:this.closeIcon,part:"close-icon",class:"close-icon",lazy:false}),r("span",{key:"99252fde6de1aca73fc240a6da7e29acac9acb18",class:"button-inner"},r("slot",{key:"dc73e9b41bf1f0e385e5784f975dfb81e37c8dfb"})),k==="md"&&r("ion-ripple-effect",{key:"8413e162f44a0350f54dff06cff7aad101de3549"})))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});return t}());k.style={ios:g,md:m};var x=":host{margin-left:0;margin-right:0;margin-top:calc(100% + 10px);margin-bottom:calc(100% + 10px);display:none;position:absolute;top:0;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:-ms-flexbox;display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;-webkit-transform:scale(0);transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted(.fab-button-in-list.fab-button-show){-webkit-transform:scale(1);transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;-ms-flex-direction:column-reverse;flex-direction:column-reverse}:host(.fab-list-side-start){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.fab-list-side-start){inset-inline-end:0}:host(.fab-list-side-end){-webkit-margin-start:calc(100% + 10px);margin-inline-start:calc(100% + 10px);-webkit-margin-end:calc(100% + 10px);margin-inline-end:calc(100% + 10px);margin-top:0;margin-bottom:0;-ms-flex-direction:row;flex-direction:row}:host(.fab-list-side-end){inset-inline-start:0}";var w=x;var y=t("ion_fab_list",function(){function t(t){o(this,t);this.activated=false;this.side="bottom"}t.prototype.activatedChanged=function(t){var o=Array.from(this.el.querySelectorAll("ion-fab-button"));var r=t?30:0;o.forEach((function(o,i){setTimeout((function(){return o.show=t}),i*r)}))};t.prototype.render=function(){var t;var o=e(this);return r(i,{key:"fa1d195b9950654ba0e984bf61d981c977d05275",class:(t={},t[o]=true,t["fab-list-active"]=this.activated,t["fab-list-side-".concat(this.side)]=true,t)},r("slot",{key:"2ec738c66c05112e1e2521155d6adfc36d2fd1db"}))};Object.defineProperty(t.prototype,"el",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{activated:["activatedChanged"]}},enumerable:false,configurable:true});return t}());y.style=w}}}));
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{r as t,e as n,w as a,h as i,i as e,f as o}from"./p-dba5cb84.js";import{b as r}from"./p-9ec42be0.js";const s=class{constructor(n){t(this,n),this.type="bounded"}async addRipple(t,i){return new Promise((e=>{n((()=>{const n=this.el.getBoundingClientRect(),o=n.width,r=n.height,s=Math.sqrt(o*o+r*r),l=Math.max(r,o),u=this.unbounded?l:s+c,d=Math.floor(l*f),p=u/d;let b=t-n.left,w=i-n.top;this.unbounded&&(b=.5*o,w=.5*r);const k=b-.5*d,y=w-.5*d,h=.5*o-b,g=.5*r-w;a((()=>{const t=document.createElement("div");t.classList.add("ripple-effect");const n=t.style;n.top=y+"px",n.left=k+"px",n.width=n.height=d+"px",n.setProperty("--final-scale",`${p}`),n.setProperty("--translate-end",`${h}px, ${g}px`),(this.el.shadowRoot||this.el).appendChild(t),setTimeout((()=>{e((()=>{m(t)}))}),325)}))}))}))}get unbounded(){return"unbounded"===this.type}render(){const t=r(this);return i(o,{key:"7ae559bda5d2c1856a45bfa150c2cb4f83373f8e",role:"presentation",class:{[t]:!0,unbounded:this.unbounded}})}get el(){return e(this)}},m=t=>{t.classList.add("fade-out"),setTimeout((()=>{t.remove()}),200)},c=10,f=.5;s.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}";export{s as ion_ripple_effect}
4
+ import{r as t,e as n,w as i,h as a,i as e,f as o}from"./p-dba5cb84.js";import{b as r}from"./p-9ec42be0.js";const s=class{constructor(n){t(this,n),this.type="bounded"}async addRipple(t,a){return new Promise((e=>{n((()=>{const n=this.el.getBoundingClientRect(),o=n.width,r=n.height,s=Math.sqrt(o*o+r*r),l=Math.max(r,o),u=this.unbounded?l:s+m,d=Math.floor(l*f),p=u/d;let b=t-n.left,w=a-n.top;this.unbounded&&(b=.5*o,w=.5*r);const k=b-.5*d,y=w-.5*d,h=.5*o-b,g=.5*r-w;i((()=>{const t=document.createElement("div");t.classList.add("ripple-effect");const n=t.style;n.top=y+"px",n.left=k+"px",n.width=n.height=d+"px",n.setProperty("--final-scale",`${p}`),n.setProperty("--translate-end",`${h}px, ${g}px`),(this.el.shadowRoot||this.el).appendChild(t),setTimeout((()=>{e((()=>{c(t)}))}),325)}))}))}))}get unbounded(){return"unbounded"===this.type}render(){const t=r(this);return a(o,{key:"2302f087ab1c6755355736e4ca77309c5fdcf185",role:"presentation",class:{[t]:!0,unbounded:this.unbounded}})}get el(){return e(this)}},c=t=>{t.classList.add("fade-out"),setTimeout((()=>{t.remove()}),200)},m=10,f=.5;s.style=":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}";export{s as ion_ripple_effect}
@@ -35,6 +35,14 @@ export declare class Content implements ComponentInterface {
35
35
  * to transparent.
36
36
  */
37
37
  fullscreen: boolean;
38
+ /**
39
+ * Controls where the fixed content is placed relative to the main content
40
+ * in the DOM. This can be used to control the order in which fixed elements
41
+ * receive keyboard focus.
42
+ * For example, if a FAB in the fixed slot should receive keyboard focus before
43
+ * the main page content, set this property to `'before'`.
44
+ */
45
+ fixedSlotPlacement: 'after' | 'before';
38
46
  /**
39
47
  * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce.
40
48
  * If the content exceeds the bounds of ionContent, nothing will change.
@@ -59,6 +59,10 @@ export declare class Input implements ComponentInterface {
59
59
  * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
60
60
  */
61
61
  clearInput: boolean;
62
+ /**
63
+ * The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
64
+ */
65
+ clearInputIcon?: string;
62
66
  /**
63
67
  * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
64
68
  */
@@ -9,6 +9,7 @@ export interface ModalOptions<T extends ComponentRef = ComponentRef> {
9
9
  delegate?: FrameworkDelegate;
10
10
  animated?: boolean;
11
11
  canDismiss?: boolean | ((data?: any, role?: string) => Promise<boolean>);
12
+ focusTrap?: boolean;
12
13
  mode?: Mode;
13
14
  keyboardClose?: boolean;
14
15
  id?: string;
@@ -163,6 +163,24 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
163
163
  * frameworks such as Angular, React, and Vue.
164
164
  */
165
165
  keepContentsMounted: boolean;
166
+ /**
167
+ * If `true`, focus will not be allowed to move outside of this overlay.
168
+ * If `false`, focus will be allowed to move outside of the overlay.
169
+ *
170
+ * In most scenarios this property should remain set to `true`. Setting
171
+ * this property to `false` can cause severe accessibility issues as users
172
+ * relying on assistive technologies may be able to move focus into
173
+ * a confusing state. We recommend only setting this to `false` when
174
+ * absolutely necessary.
175
+ *
176
+ * Developers may want to consider disabling focus trapping if this
177
+ * overlay presents a non-Ionic overlay from a 3rd party library.
178
+ * Developers would disable focus trapping on the Ionic overlay
179
+ * when presenting the 3rd party overlay and then re-enable
180
+ * focus trapping when dismissing the 3rd party overlay and moving
181
+ * focus back to the Ionic overlay.
182
+ */
183
+ focusTrap: boolean;
166
184
  /**
167
185
  * Determines whether or not a modal can dismiss
168
186
  * when calling the `dismiss` method.
@@ -15,6 +15,10 @@ export declare class PickerColumn implements ComponentInterface {
15
15
  private isColumnVisible;
16
16
  private parentEl?;
17
17
  private canExitInputMode;
18
+ private assistiveFocusable?;
19
+ private updateValueTextOnScroll;
20
+ ariaLabel: string | null;
21
+ ariaLabelChanged(newValue: string): void;
18
22
  isActive: boolean;
19
23
  el: HTMLIonPickerColumnElement;
20
24
  /**
@@ -71,6 +75,7 @@ export declare class PickerColumn implements ComponentInterface {
71
75
  * Use this method instead of the global `pickerColumn.focus()`.
72
76
  */
73
77
  setFocus(): Promise<void>;
78
+ connectedCallback(): void;
74
79
  private centerPickerItemInView;
75
80
  private setPickerItemActiveState;
76
81
  /**
@@ -104,5 +109,35 @@ export declare class PickerColumn implements ComponentInterface {
104
109
  */
105
110
  private exitInputMode;
106
111
  get activeItem(): HTMLIonPickerColumnOptionElement | undefined;
112
+ /**
113
+ * Find the next enabled option after the active option.
114
+ * @param stride - How many options to "jump" over in order to select the next option.
115
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
116
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
117
+ * the enabled option 5 options after the active one. Note that the actual option selected
118
+ * may be past the stride if the option at the stride is disabled.
119
+ */
120
+ private findNextOption;
121
+ /**
122
+ * Find the next enabled option after the active option.
123
+ * @param stride - How many options to "jump" over in order to select the next option.
124
+ * This can be used to implement PageUp/PageDown behaviors where pressing these keys
125
+ * scrolls the picker by more than 1 option. For example, a stride of 5 means select
126
+ * the enabled option 5 options before the active one. Note that the actual option selected
127
+ * may be past the stride if the option at the stride is disabled.
128
+ */
129
+ private findPreviousOption;
130
+ private onKeyDown;
131
+ /**
132
+ * Utility to generate the correct text for aria-valuetext.
133
+ */
134
+ private getOptionValueText;
135
+ /**
136
+ * Render an element that overlays the column. This element is for assistive
137
+ * tech to allow users to navigate the column up/down. This element should receive
138
+ * focus as it listens for synthesized keyboard events as required by the
139
+ * slider role: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role
140
+ */
141
+ private renderAssistiveFocusable;
107
142
  render(): any;
108
143
  }
@@ -12,6 +12,7 @@ export interface PopoverOptions<T extends ComponentRef = ComponentRef> {
12
12
  event?: Event;
13
13
  delegate?: FrameworkDelegate;
14
14
  animated?: boolean;
15
+ focusTrap?: boolean;
15
16
  mode?: Mode;
16
17
  keyboardClose?: boolean;
17
18
  id?: string;
@@ -171,6 +171,24 @@ export declare class Popover implements ComponentInterface, PopoverInterface {
171
171
  * behavior in a popover using a list of items.
172
172
  */
173
173
  keyboardEvents: boolean;
174
+ /**
175
+ * If `true`, focus will not be allowed to move outside of this overlay.
176
+ * If `false`, focus will be allowed to move outside of the overlay.
177
+ *
178
+ * In most scenarios this property should remain set to `true`. Setting
179
+ * this property to `false` can cause severe accessibility issues as users
180
+ * relying on assistive technologies may be able to move focus into
181
+ * a confusing state. We recommend only setting this to `false` when
182
+ * absolutely necessary.
183
+ *
184
+ * Developers may want to consider disabling focus trapping if this
185
+ * overlay presents a non-Ionic overlay from a 3rd party library.
186
+ * Developers would disable focus trapping on the Ionic overlay
187
+ * when presenting the 3rd party overlay and then re-enable
188
+ * focus trapping when dismissing the 3rd party overlay and moving
189
+ * focus back to the Ionic overlay.
190
+ */
191
+ focusTrap: boolean;
174
192
  onTriggerChange(): void;
175
193
  onIsOpenChange(newValue: boolean, oldValue: boolean): void;
176
194
  /**
@@ -762,6 +762,10 @@ export namespace Components {
762
762
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
763
763
  */
764
764
  "color"?: Color;
765
+ /**
766
+ * Controls where the fixed content is placed relative to the main content in the DOM. This can be used to control the order in which fixed elements receive keyboard focus. For example, if a FAB in the fixed slot should receive keyboard focus before the main page content, set this property to `'before'`.
767
+ */
768
+ "fixedSlotPlacement": 'after' | 'before';
765
769
  /**
766
770
  * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, this does not disable the system bounce on iOS. That is an OS level setting.
767
771
  */
@@ -1162,6 +1166,10 @@ export namespace Components {
1162
1166
  * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
1163
1167
  */
1164
1168
  "clearInput": boolean;
1169
+ /**
1170
+ * The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
1171
+ */
1172
+ "clearInputIcon"?: string;
1165
1173
  /**
1166
1174
  * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
1167
1175
  */
@@ -1715,6 +1723,10 @@ export namespace Components {
1715
1723
  * Animation to use when the modal is presented.
1716
1724
  */
1717
1725
  "enterAnimation"?: AnimationBuilder;
1726
+ /**
1727
+ * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
1728
+ */
1729
+ "focusTrap": boolean;
1718
1730
  /**
1719
1731
  * Returns the current breakpoint of a sheet style modal
1720
1732
  */
@@ -2131,6 +2143,10 @@ export namespace Components {
2131
2143
  * The event to pass to the popover animation.
2132
2144
  */
2133
2145
  "event": any;
2146
+ /**
2147
+ * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
2148
+ */
2149
+ "focusTrap": boolean;
2134
2150
  "getParentPopover": () => Promise<HTMLIonPopoverElement | null>;
2135
2151
  "hasController": boolean;
2136
2152
  /**
@@ -5461,6 +5477,10 @@ declare namespace LocalJSX {
5461
5477
  * The color to use from your application's color palette. Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`. For more information on colors, see [theming](/docs/theming/basics).
5462
5478
  */
5463
5479
  "color"?: Color;
5480
+ /**
5481
+ * Controls where the fixed content is placed relative to the main content in the DOM. This can be used to control the order in which fixed elements receive keyboard focus. For example, if a FAB in the fixed slot should receive keyboard focus before the main page content, set this property to `'before'`.
5482
+ */
5483
+ "fixedSlotPlacement"?: 'after' | 'before';
5464
5484
  /**
5465
5485
  * If `true` and the content does not cause an overflow scroll, the scroll interaction will cause a bounce. If the content exceeds the bounds of ionContent, nothing will change. Note, this does not disable the system bounce on iOS. That is an OS level setting.
5466
5486
  */
@@ -5857,6 +5877,10 @@ declare namespace LocalJSX {
5857
5877
  * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
5858
5878
  */
5859
5879
  "clearInput"?: boolean;
5880
+ /**
5881
+ * The icon to use for the clear button. Only applies when `clearInput` is set to `true`.
5882
+ */
5883
+ "clearInputIcon"?: string;
5860
5884
  /**
5861
5885
  * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `"password"`, `false` for all other types.
5862
5886
  */
@@ -6383,6 +6407,10 @@ declare namespace LocalJSX {
6383
6407
  * Animation to use when the modal is presented.
6384
6408
  */
6385
6409
  "enterAnimation"?: AnimationBuilder;
6410
+ /**
6411
+ * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
6412
+ */
6413
+ "focusTrap"?: boolean;
6386
6414
  /**
6387
6415
  * The horizontal line that displays at the top of a sheet modal. It is `true` by default when setting the `breakpoints` and `initialBreakpoint` properties.
6388
6416
  */
@@ -6701,6 +6729,10 @@ declare namespace LocalJSX {
6701
6729
  * The event to pass to the popover animation.
6702
6730
  */
6703
6731
  "event"?: any;
6732
+ /**
6733
+ * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
6734
+ */
6735
+ "focusTrap"?: boolean;
6704
6736
  /**
6705
6737
  * Additional attributes to pass to the popover.
6706
6738
  */
@@ -165,6 +165,13 @@ export interface IonicConfig {
165
165
  * Overrides the default platform detection methods.
166
166
  */
167
167
  platform?: PlatformConfig;
168
+ /**
169
+ * @experimental
170
+ * When defined, Ionic will move focus to the appropriate element after each
171
+ * page transition. This ensures that users relying on assistive technology
172
+ * are informed when a page transition happens.
173
+ */
174
+ focusManagerPriority?: FocusManagerPriority[];
168
175
  /**
169
176
  * @experimental
170
177
  * If `true`, the [CloseWatcher API](https://github.com/WICG/close-watcher) will be used to handle
@@ -186,6 +193,8 @@ export interface IonicConfig {
186
193
  _rel?: (el: any, name: string, cb: any, opts: any) => any;
187
194
  _ce?: (eventName: string, opts: any) => any;
188
195
  }
196
+ type FocusManagerPriority = 'content' | 'heading' | 'banner';
189
197
  export declare const setupConfig: (config: IonicConfig) => any;
190
198
  export declare const getMode: () => Mode;
191
199
  export declare const ENABLE_HTML_CONTENT_DEFAULT = false;
200
+ export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The focus controller allows us to manage focus within a view so assistive
3
+ * technologies can inform users of changes to the navigation state. Traditional
4
+ * native apps have a way of informing assistive technology about a navigation
5
+ * state change. Mobile browsers have this too, but only when doing a full page
6
+ * load. In a single page app we do not do that, so we need to build this
7
+ * integration ourselves.
8
+ */
9
+ export declare const createFocusController: () => FocusController;
10
+ export type FocusController = {
11
+ saveViewFocus: (referenceEl?: HTMLElement) => void;
12
+ setViewFocus: (referenceEl: HTMLElement) => void;
13
+ };
@@ -134,3 +134,4 @@ export declare const createTriggerController: () => {
134
134
  addClickListener: (el: HTMLIonOverlayElement, trigger: string) => void;
135
135
  removeClickListener: () => void;
136
136
  };
137
+ export declare const FOCUS_TRAP_DISABLE_CLASS = "ion-disable-focus-trap";