@ionic/core 7.7.2-dev.11707932366.16baf005 → 7.7.2-dev.11708036667.1fa730de

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 (522) hide show
  1. package/components/checkbox.js +8 -80
  2. package/components/helpers.js +1 -1
  3. package/components/index2.js +107 -1
  4. package/components/index9.js +1 -1
  5. package/components/ion-chip.js +2 -2
  6. package/components/ion-col.js +2 -2
  7. package/components/ion-content.js +4 -4
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +2 -2
  11. package/components/ion-fab-list.js +2 -2
  12. package/components/ion-fab.js +2 -2
  13. package/components/ion-footer.js +3 -3
  14. package/components/ion-grid.js +2 -2
  15. package/components/ion-header.js +3 -3
  16. package/components/ion-img.js +1 -1
  17. package/components/ion-infinite-scroll-content.js +2 -2
  18. package/components/ion-infinite-scroll.js +1 -1
  19. package/components/ion-input.js +4 -4
  20. package/components/ion-item-divider.js +2 -2
  21. package/components/ion-item-group.js +1 -1
  22. package/components/ion-item-option.js +2 -2
  23. package/components/ion-item-options.js +2 -2
  24. package/components/ion-item-sliding.js +2 -2
  25. package/components/ion-loading.js +2 -2
  26. package/components/ion-menu-button.js +2 -2
  27. package/components/ion-menu-toggle.js +2 -2
  28. package/components/ion-menu.js +3 -3
  29. package/components/ion-modal.js +4 -4
  30. package/components/ion-nav-link.js +1 -1
  31. package/components/ion-nav.js +2 -2
  32. package/components/ion-picker-legacy.js +2 -2
  33. package/components/ion-progress-bar.js +2 -2
  34. package/components/ion-range.js +34 -88
  35. package/components/ion-refresher-content.js +1 -1
  36. package/components/ion-refresher.js +2 -2
  37. package/components/ion-reorder-group.js +1 -1
  38. package/components/ion-reorder.js +1 -1
  39. package/components/ion-router-link.js +2 -2
  40. package/components/ion-router-outlet.js +2 -2
  41. package/components/ion-router.js +1 -1
  42. package/components/ion-row.js +1 -1
  43. package/components/ion-searchbar.js +5 -5
  44. package/components/ion-segment-button.js +3 -3
  45. package/components/ion-segment.js +2 -2
  46. package/components/ion-select-option.js +1 -1
  47. package/components/ion-select.js +3 -3
  48. package/components/ion-skeleton-text.js +2 -2
  49. package/components/ion-split-pane.js +2 -2
  50. package/components/ion-tab-bar.js +2 -2
  51. package/components/ion-tab-button.js +2 -2
  52. package/components/ion-tab.js +2 -2
  53. package/components/ion-tabs.js +1 -1
  54. package/components/ion-text.js +2 -2
  55. package/components/ion-textarea.js +3 -3
  56. package/components/ion-thumbnail.js +1 -1
  57. package/components/ion-title.js +2 -2
  58. package/components/ion-toast.js +2 -2
  59. package/components/ion-toggle.js +3 -3
  60. package/components/ion-toolbar.js +2 -2
  61. package/components/label.js +1 -1
  62. package/components/list-header.js +2 -2
  63. package/components/list.js +1 -1
  64. package/components/note.js +2 -2
  65. package/components/picker-column-option.js +2 -2
  66. package/components/picker-column.js +3 -3
  67. package/components/picker-column2.js +3 -3
  68. package/components/picker.js +2 -2
  69. package/components/popover.js +3 -3
  70. package/components/radio-group.js +1 -1
  71. package/components/radio.js +3 -3
  72. package/components/refresher.utils.js +1 -1
  73. package/components/ripple-effect.js +1 -1
  74. package/components/select-popover.js +1 -1
  75. package/components/spinner.js +1 -1
  76. package/components/swipe-back.js +1 -1
  77. package/css/core.css +10 -0
  78. package/css/core.css.map +1 -1
  79. package/css/ionic.bundle.css +1 -1
  80. package/css/ionic.bundle.css.map +1 -1
  81. package/dist/cjs/{animation-fdab9de5.js → animation-52066ac7.js} +1 -1
  82. package/dist/cjs/{framework-delegate-a3e6d060.js → framework-delegate-0aa2f151.js} +1 -1
  83. package/dist/cjs/{helpers-2e1028fa.js → helpers-3b96a6b0.js} +0 -1
  84. package/dist/cjs/{index-84351d21.js → index-199dfe7c.js} +110 -4
  85. package/dist/cjs/{index-8c679cbf.js → index-8a307f4a.js} +2 -2
  86. package/dist/cjs/{index-10da82ce.js → index-a31d3404.js} +1 -1
  87. package/dist/cjs/{index-53d162b2.js → index-e8a56f40.js} +1 -1
  88. package/dist/cjs/index.cjs.js +9 -9
  89. package/dist/cjs/{input-shims-6f804705.js → input-shims-49caf259.js} +2 -2
  90. package/dist/cjs/{input.utils-d693d18a.js → input.utils-ca76d6e6.js} +1 -1
  91. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  93. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-app_8.cjs.entry.js +20 -20
  95. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  97. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  99. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-checkbox.cjs.entry.js +7 -75
  101. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  105. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -7
  106. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  108. package/dist/cjs/ion-input.cjs.entry.js +6 -6
  109. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  110. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  111. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  112. package/dist/cjs/ion-menu_3.cjs.entry.js +11 -11
  113. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  114. package/dist/cjs/ion-nav_2.cjs.entry.js +7 -6
  115. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
  117. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  118. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  119. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  120. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  121. package/dist/cjs/ion-range.cjs.entry.js +34 -87
  122. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -5
  123. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  124. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  125. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  126. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  127. package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
  128. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  129. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  130. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  132. package/dist/cjs/ion-tab_2.cjs.entry.js +5 -5
  133. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  135. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  136. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  137. package/dist/cjs/ionic.cjs.js +1 -1
  138. package/dist/cjs/{ios.transition-8e40c54e.js → ios.transition-523565cb.js} +5 -3
  139. package/dist/cjs/loader.cjs.js +1 -1
  140. package/dist/cjs/{md.transition-597a2479.js → md.transition-7e3cde49.js} +5 -3
  141. package/dist/cjs/{notch-controller-db0127c4.js → notch-controller-0b7bc5d8.js} +1 -1
  142. package/dist/cjs/{overlays-8f32c4ca.js → overlays-5a110990.js} +2 -2
  143. package/dist/cjs/{status-tap-b0bfea34.js → status-tap-8e84a16d.js} +2 -2
  144. package/dist/cjs/{swipe-back-f93021d8.js → swipe-back-766b4f1c.js} +1 -1
  145. package/dist/collection/components/checkbox/checkbox.ios.css +5 -65
  146. package/dist/collection/components/checkbox/checkbox.js +5 -118
  147. package/dist/collection/components/checkbox/checkbox.md.css +5 -64
  148. package/dist/collection/components/chip/chip.js +2 -2
  149. package/dist/collection/components/col/col.js +2 -2
  150. package/dist/collection/components/content/content.js +3 -3
  151. package/dist/collection/components/datetime/datetime.js +1 -1
  152. package/dist/collection/components/datetime-button/datetime-button.js +1 -1
  153. package/dist/collection/components/fab/fab.js +2 -2
  154. package/dist/collection/components/fab-button/fab-button.js +2 -2
  155. package/dist/collection/components/fab-list/fab-list.js +2 -2
  156. package/dist/collection/components/footer/footer.js +2 -2
  157. package/dist/collection/components/grid/grid.js +2 -2
  158. package/dist/collection/components/header/header.js +2 -2
  159. package/dist/collection/components/img/img.js +1 -1
  160. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  161. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  162. package/dist/collection/components/input/input.js +3 -3
  163. package/dist/collection/components/item-divider/item-divider.js +2 -2
  164. package/dist/collection/components/item-group/item-group.js +1 -1
  165. package/dist/collection/components/item-option/item-option.js +2 -2
  166. package/dist/collection/components/item-options/item-options.js +1 -1
  167. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  168. package/dist/collection/components/label/label.js +1 -1
  169. package/dist/collection/components/list/list.js +1 -1
  170. package/dist/collection/components/list-header/list-header.js +2 -2
  171. package/dist/collection/components/loading/loading.js +2 -2
  172. package/dist/collection/components/menu/menu.js +2 -2
  173. package/dist/collection/components/menu-button/menu-button.js +2 -2
  174. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  175. package/dist/collection/components/modal/modal.js +3 -3
  176. package/dist/collection/components/nav/nav.js +1 -1
  177. package/dist/collection/components/nav-link/nav-link.js +1 -1
  178. package/dist/collection/components/note/note.js +2 -2
  179. package/dist/collection/components/picker/picker.js +2 -2
  180. package/dist/collection/components/picker-column/picker-column.js +3 -3
  181. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  182. package/dist/collection/components/picker-legacy/picker.js +2 -2
  183. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  184. package/dist/collection/components/popover/popover.js +2 -2
  185. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  186. package/dist/collection/components/radio/radio.js +3 -3
  187. package/dist/collection/components/radio-group/radio-group.js +1 -1
  188. package/dist/collection/components/range/range.ios.css +0 -9
  189. package/dist/collection/components/range/range.js +30 -123
  190. package/dist/collection/components/range/range.md.css +3 -17
  191. package/dist/collection/components/range/test/a11y/range.e2e.js +2 -2
  192. package/dist/collection/components/range/test/range-events.e2e.js +1 -1
  193. package/dist/collection/components/range/test/range.spec.js +0 -12
  194. package/dist/collection/components/refresher/refresher.js +1 -1
  195. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  196. package/dist/collection/components/reorder/reorder.js +1 -1
  197. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  198. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  199. package/dist/collection/components/router-link/router-link.js +2 -2
  200. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  201. package/dist/collection/components/row/row.js +1 -1
  202. package/dist/collection/components/searchbar/searchbar.js +4 -4
  203. package/dist/collection/components/segment/segment.js +2 -2
  204. package/dist/collection/components/segment-button/segment-button.js +3 -3
  205. package/dist/collection/components/select/select.js +2 -2
  206. package/dist/collection/components/select-option/select-option.js +1 -1
  207. package/dist/collection/components/select-popover/select-popover.js +1 -1
  208. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  209. package/dist/collection/components/spinner/spinner.js +1 -1
  210. package/dist/collection/components/split-pane/split-pane.js +2 -2
  211. package/dist/collection/components/tab/tab.js +2 -2
  212. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  213. package/dist/collection/components/tab-button/tab-button.js +2 -2
  214. package/dist/collection/components/tabs/tabs.js +1 -1
  215. package/dist/collection/components/text/text.js +2 -2
  216. package/dist/collection/components/textarea/textarea.js +2 -2
  217. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  218. package/dist/collection/components/title/title.js +2 -2
  219. package/dist/collection/components/toast/toast.js +2 -2
  220. package/dist/collection/components/toggle/toggle.js +3 -3
  221. package/dist/collection/components/toolbar/toolbar.js +2 -2
  222. package/dist/collection/utils/transition/index.js +107 -1
  223. package/dist/docs.json +6 -54
  224. package/dist/esm/{animation-60dbdd13.js → animation-2b6dd235.js} +1 -1
  225. package/dist/esm/{framework-delegate-fed7fe7c.js → framework-delegate-e8bffeeb.js} +1 -1
  226. package/dist/esm/{helpers-c0b9ca37.js → helpers-6f6a912f.js} +1 -1
  227. package/dist/esm/{index-48209844.js → index-02ec07ff.js} +2 -2
  228. package/dist/esm/{index-d64f34ea.js → index-1496c7cd.js} +1 -1
  229. package/dist/esm/{index-4b98143d.js → index-361e1f35.js} +110 -4
  230. package/dist/esm/{index-eb12ef92.js → index-c14233e6.js} +1 -1
  231. package/dist/esm/index.js +9 -9
  232. package/dist/esm/{input-shims-b90ca55f.js → input-shims-dd1a9a98.js} +2 -2
  233. package/dist/esm/{input.utils-6e9b0046.js → input.utils-5fee9f22.js} +1 -1
  234. package/dist/esm/ion-accordion_2.entry.js +1 -1
  235. package/dist/esm/ion-action-sheet.entry.js +4 -4
  236. package/dist/esm/ion-alert.entry.js +4 -4
  237. package/dist/esm/ion-app_8.entry.js +20 -20
  238. package/dist/esm/ion-avatar_3.entry.js +1 -1
  239. package/dist/esm/ion-back-button.entry.js +1 -1
  240. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  241. package/dist/esm/ion-button_2.entry.js +1 -1
  242. package/dist/esm/ion-card_5.entry.js +1 -1
  243. package/dist/esm/ion-checkbox.entry.js +7 -75
  244. package/dist/esm/ion-chip.entry.js +2 -2
  245. package/dist/esm/ion-col_3.entry.js +5 -5
  246. package/dist/esm/ion-datetime-button.entry.js +2 -2
  247. package/dist/esm/ion-datetime_3.entry.js +9 -9
  248. package/dist/esm/ion-fab_3.entry.js +7 -7
  249. package/dist/esm/ion-img.entry.js +2 -2
  250. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  251. package/dist/esm/ion-input.entry.js +6 -6
  252. package/dist/esm/ion-item-option_3.entry.js +6 -6
  253. package/dist/esm/ion-item_8.entry.js +12 -12
  254. package/dist/esm/ion-loading.entry.js +6 -6
  255. package/dist/esm/ion-menu_3.entry.js +11 -11
  256. package/dist/esm/ion-modal.entry.js +9 -9
  257. package/dist/esm/ion-nav_2.entry.js +7 -6
  258. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  259. package/dist/esm/ion-picker-column.entry.js +4 -4
  260. package/dist/esm/ion-picker.entry.js +3 -3
  261. package/dist/esm/ion-popover.entry.js +7 -7
  262. package/dist/esm/ion-progress-bar.entry.js +2 -2
  263. package/dist/esm/ion-radio_2.entry.js +5 -5
  264. package/dist/esm/ion-range.entry.js +35 -88
  265. package/dist/esm/ion-refresher_2.entry.js +5 -5
  266. package/dist/esm/ion-reorder_2.entry.js +4 -4
  267. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  268. package/dist/esm/ion-route_4.entry.js +3 -3
  269. package/dist/esm/ion-searchbar.entry.js +5 -5
  270. package/dist/esm/ion-segment_2.entry.js +6 -6
  271. package/dist/esm/ion-select_3.entry.js +8 -8
  272. package/dist/esm/ion-spinner.entry.js +1 -1
  273. package/dist/esm/ion-split-pane.entry.js +2 -2
  274. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  275. package/dist/esm/ion-tab_2.entry.js +5 -5
  276. package/dist/esm/ion-text.entry.js +2 -2
  277. package/dist/esm/ion-textarea.entry.js +5 -5
  278. package/dist/esm/ion-toast.entry.js +6 -6
  279. package/dist/esm/ion-toggle.entry.js +4 -4
  280. package/dist/esm/ionic.js +1 -1
  281. package/dist/esm/{ios.transition-7ff7381d.js → ios.transition-8853da89.js} +5 -3
  282. package/dist/esm/loader.js +1 -1
  283. package/dist/esm/{md.transition-28a9a26b.js → md.transition-e0cb5ce0.js} +5 -3
  284. package/dist/esm/{notch-controller-15d281a4.js → notch-controller-164523aa.js} +1 -1
  285. package/dist/esm/{overlays-2d8629c6.js → overlays-0552e35b.js} +2 -2
  286. package/dist/esm/{status-tap-2b335fb7.js → status-tap-11f4b446.js} +2 -2
  287. package/dist/esm/{swipe-back-7f7620ca.js → swipe-back-8f9b1f85.js} +1 -1
  288. package/dist/esm-es5/{animation-60dbdd13.js → animation-2b6dd235.js} +1 -1
  289. package/dist/esm-es5/{framework-delegate-fed7fe7c.js → framework-delegate-e8bffeeb.js} +1 -1
  290. package/dist/esm-es5/{helpers-c0b9ca37.js → helpers-6f6a912f.js} +1 -1
  291. package/dist/esm-es5/{index-48209844.js → index-02ec07ff.js} +1 -1
  292. package/dist/esm-es5/{index-d64f34ea.js → index-1496c7cd.js} +1 -1
  293. package/dist/esm-es5/index-361e1f35.js +4 -0
  294. package/dist/esm-es5/{index-eb12ef92.js → index-c14233e6.js} +1 -1
  295. package/dist/esm-es5/index.js +1 -1
  296. package/dist/esm-es5/{input-shims-b90ca55f.js → input-shims-dd1a9a98.js} +1 -1
  297. package/dist/esm-es5/{input.utils-6e9b0046.js → input.utils-5fee9f22.js} +1 -1
  298. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  299. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  300. package/dist/esm-es5/ion-alert.entry.js +1 -1
  301. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  302. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  303. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  304. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  305. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  306. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  307. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  308. package/dist/esm-es5/ion-chip.entry.js +1 -1
  309. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  310. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  311. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  312. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  313. package/dist/esm-es5/ion-img.entry.js +1 -1
  314. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  315. package/dist/esm-es5/ion-input.entry.js +1 -1
  316. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  317. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  318. package/dist/esm-es5/ion-loading.entry.js +1 -1
  319. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  320. package/dist/esm-es5/ion-modal.entry.js +1 -1
  321. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  323. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  324. package/dist/esm-es5/ion-picker.entry.js +1 -1
  325. package/dist/esm-es5/ion-popover.entry.js +1 -1
  326. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  327. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  328. package/dist/esm-es5/ion-range.entry.js +1 -1
  329. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  330. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  331. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  332. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  333. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  334. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  335. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  336. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  337. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  338. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  339. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  340. package/dist/esm-es5/ion-text.entry.js +1 -1
  341. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  342. package/dist/esm-es5/ion-toast.entry.js +1 -1
  343. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  344. package/dist/esm-es5/ionic.js +1 -1
  345. package/dist/esm-es5/ios.transition-8853da89.js +4 -0
  346. package/dist/esm-es5/loader.js +1 -1
  347. package/dist/esm-es5/md.transition-e0cb5ce0.js +4 -0
  348. package/dist/esm-es5/{notch-controller-15d281a4.js → notch-controller-164523aa.js} +1 -1
  349. package/dist/esm-es5/{overlays-2d8629c6.js → overlays-0552e35b.js} +1 -1
  350. package/dist/esm-es5/{status-tap-2b335fb7.js → status-tap-11f4b446.js} +1 -1
  351. package/dist/esm-es5/swipe-back-8f9b1f85.js +4 -0
  352. package/dist/html.html-data.json +0 -8
  353. package/dist/ionic/index.esm.js +1 -1
  354. package/dist/ionic/ionic.esm.js +1 -1
  355. package/dist/ionic/{p-90fcbf72.js → p-012136be.js} +1 -1
  356. package/dist/ionic/{p-94be3ad7.js → p-023a5686.js} +1 -1
  357. package/dist/ionic/{p-6f5c2ebd.system.entry.js → p-04625eab.system.entry.js} +1 -1
  358. package/dist/ionic/{p-229d211f.entry.js → p-060ab03e.entry.js} +1 -1
  359. package/dist/ionic/{p-7e230af6.entry.js → p-06d1a11d.entry.js} +1 -1
  360. package/dist/ionic/{p-b46bdb73.system.entry.js → p-07d854da.system.entry.js} +1 -1
  361. package/dist/ionic/p-0b955124.system.js +1 -1
  362. package/dist/ionic/{p-c994c528.system.entry.js → p-0be9430d.system.entry.js} +1 -1
  363. package/dist/ionic/{p-6e8d0527.system.entry.js → p-0ccc3e49.system.entry.js} +1 -1
  364. package/dist/ionic/{p-02bf61be.entry.js → p-11cce714.entry.js} +1 -1
  365. package/dist/ionic/p-12c0fd06.system.entry.js +4 -0
  366. package/dist/ionic/{p-c80c7e90.system.js → p-17907fef.system.js} +1 -1
  367. package/dist/ionic/{p-ab782835.system.entry.js → p-19280211.system.entry.js} +1 -1
  368. package/dist/ionic/{p-814aa0b4.system.entry.js → p-1aa383c4.system.entry.js} +1 -1
  369. package/dist/ionic/{p-3db5b566.system.entry.js → p-1e68eb2d.system.entry.js} +2 -2
  370. package/dist/ionic/{p-2203ea50.system.entry.js → p-20a899d6.system.entry.js} +1 -1
  371. package/dist/ionic/p-217cfd24.entry.js +4 -0
  372. package/dist/ionic/{p-b8e465da.system.entry.js → p-285f83fb.system.entry.js} +1 -1
  373. package/dist/ionic/{p-dd79d499.system.entry.js → p-2a99d6a2.system.entry.js} +1 -1
  374. package/dist/ionic/p-316b88f6.system.entry.js +4 -0
  375. package/dist/ionic/{p-61ba2137.system.js → p-31aad1b8.system.js} +1 -1
  376. package/dist/ionic/{p-5642acf7.system.entry.js → p-32173330.system.entry.js} +1 -1
  377. package/dist/ionic/p-328ca978.system.js +4 -0
  378. package/dist/ionic/{p-aeb2bfc4.entry.js → p-32d31724.entry.js} +1 -1
  379. package/dist/ionic/{p-a6a15217.system.entry.js → p-381d53fe.system.entry.js} +1 -1
  380. package/dist/ionic/{p-3348d9b6.entry.js → p-3bce3d27.entry.js} +1 -1
  381. package/dist/ionic/{p-49cbf8ca.entry.js → p-3f06f873.entry.js} +1 -1
  382. package/dist/ionic/{p-fd8ced99.system.js → p-41fe384b.system.js} +1 -1
  383. package/dist/ionic/{p-e3c13a24.system.entry.js → p-4340cc94.system.entry.js} +1 -1
  384. package/dist/ionic/p-435cdd08.js +4 -0
  385. package/dist/ionic/{p-c8f93816.system.entry.js → p-437a54c3.system.entry.js} +1 -1
  386. package/dist/ionic/p-46cc595c.js +4 -0
  387. package/dist/ionic/{p-8aecc954.system.entry.js → p-487a1d0e.system.entry.js} +1 -1
  388. package/dist/ionic/{p-b8c685a7.system.js → p-492a99b4.system.js} +1 -1
  389. package/dist/ionic/p-4b4253b1.js +4 -0
  390. package/dist/ionic/{p-6ac84217.entry.js → p-4bd628c4.entry.js} +1 -1
  391. package/dist/ionic/p-4d957d64.system.js +4 -0
  392. package/dist/ionic/{p-2fbf97f4.system.entry.js → p-4eb51750.system.entry.js} +1 -1
  393. package/dist/ionic/{p-fd36799d.system.js → p-54325470.system.js} +1 -1
  394. package/dist/ionic/{p-ec4e0057.entry.js → p-56bb3ae7.entry.js} +1 -1
  395. package/dist/ionic/{p-c2938ad7.system.entry.js → p-582ff69e.system.entry.js} +1 -1
  396. package/dist/ionic/p-58cc3084.js +4 -0
  397. package/dist/ionic/{p-1d1ef635.entry.js → p-5998886f.entry.js} +1 -1
  398. package/dist/ionic/{p-6028d77a.entry.js → p-5ab08b08.entry.js} +1 -1
  399. package/dist/ionic/{p-f7d618b7.entry.js → p-5c439e4b.entry.js} +1 -1
  400. package/dist/ionic/{p-31c495c2.js → p-5d908b54.js} +1 -1
  401. package/dist/ionic/{p-9ff0b9d7.entry.js → p-5dde8d3f.entry.js} +1 -1
  402. package/dist/ionic/p-5fb5218b.js +4 -0
  403. package/dist/ionic/{p-37c33319.system.js → p-5fc74894.system.js} +1 -1
  404. package/dist/ionic/{p-6871553b.system.js → p-6754e438.system.js} +1 -1
  405. package/dist/ionic/{p-814129a1.system.entry.js → p-676d3d91.system.entry.js} +1 -1
  406. package/dist/ionic/{p-9c69a78d.system.entry.js → p-68197628.system.entry.js} +2 -2
  407. package/dist/ionic/p-683a7d40.entry.js +4 -0
  408. package/dist/ionic/{p-faea6b57.entry.js → p-68795208.entry.js} +1 -1
  409. package/dist/ionic/{p-46e78ed6.entry.js → p-6dbfb274.entry.js} +1 -1
  410. package/dist/ionic/p-70420d55.entry.js +4 -0
  411. package/dist/ionic/p-705e30ec.system.js +4 -0
  412. package/dist/ionic/{p-1dc24d13.system.entry.js → p-732bbcac.system.entry.js} +1 -1
  413. package/dist/ionic/{p-590ecff0.entry.js → p-7550b7cd.entry.js} +1 -1
  414. package/dist/ionic/{p-743030ee.entry.js → p-75def519.entry.js} +1 -1
  415. package/dist/ionic/{p-1c6bc252.system.entry.js → p-78f825e5.system.entry.js} +1 -1
  416. package/dist/ionic/{p-b5839dc2.js → p-7ab579e4.js} +1 -1
  417. package/dist/ionic/{p-2581c0b4.system.entry.js → p-7c5dc3c2.system.entry.js} +1 -1
  418. package/dist/ionic/{p-2aa9dbb1.entry.js → p-7f378a2a.entry.js} +1 -1
  419. package/dist/ionic/{p-ba7347c4.entry.js → p-85752011.entry.js} +1 -1
  420. package/dist/ionic/{p-73fef0c6.entry.js → p-8705efd9.entry.js} +1 -1
  421. package/dist/ionic/{p-ce1cf1e0.system.entry.js → p-874981aa.system.entry.js} +1 -1
  422. package/dist/ionic/{p-44ba1907.system.entry.js → p-878d5d3c.system.entry.js} +2 -2
  423. package/dist/ionic/p-8ae4d69b.entry.js +4 -0
  424. package/dist/ionic/{p-a3f572a7.js → p-8b213742.js} +1 -1
  425. package/dist/ionic/{p-158e5d3f.entry.js → p-8f68a594.entry.js} +1 -1
  426. package/dist/ionic/p-903305e2.entry.js +4 -0
  427. package/dist/ionic/{p-ef065e0d.system.entry.js → p-9451f3b1.system.entry.js} +2 -2
  428. package/dist/ionic/{p-f3c1bbcb.entry.js → p-945d28b0.entry.js} +1 -1
  429. package/dist/ionic/{p-364fd2ae.system.entry.js → p-95641c85.system.entry.js} +2 -2
  430. package/dist/ionic/{p-ffee8d11.system.entry.js → p-9705cb8a.system.entry.js} +1 -1
  431. package/dist/ionic/{p-50b79c48.entry.js → p-982d43c5.entry.js} +1 -1
  432. package/dist/ionic/{p-b8c4df21.entry.js → p-98d67336.entry.js} +1 -1
  433. package/dist/ionic/{p-41cd4e22.system.entry.js → p-990b12ed.system.entry.js} +1 -1
  434. package/dist/ionic/{p-aca86637.system.entry.js → p-990c4ffc.system.entry.js} +1 -1
  435. package/dist/ionic/{p-156299c1.system.entry.js → p-993e5fa8.system.entry.js} +1 -1
  436. package/dist/ionic/{p-9393a49f.js → p-9b502efc.js} +1 -1
  437. package/dist/ionic/{p-68211d11.entry.js → p-9d043a12.entry.js} +1 -1
  438. package/dist/ionic/{p-2b17eb06.entry.js → p-a1b7245f.entry.js} +1 -1
  439. package/dist/ionic/p-a1daeb4e.js +4 -0
  440. package/dist/ionic/{p-e1386ddc.system.entry.js → p-a5d14e60.system.entry.js} +1 -1
  441. package/dist/ionic/{p-115d351a.entry.js → p-a5dbbe9f.entry.js} +1 -1
  442. package/dist/ionic/{p-58e3ae88.system.entry.js → p-a9401d22.system.entry.js} +1 -1
  443. package/dist/ionic/{p-7f90cee1.entry.js → p-ad2a4aea.entry.js} +1 -1
  444. package/dist/ionic/{p-b253ad7f.js → p-ae965bbd.js} +1 -1
  445. package/dist/ionic/{p-a69ca607.system.entry.js → p-b0309b53.system.entry.js} +1 -1
  446. package/dist/ionic/{p-9d10df75.system.entry.js → p-b10f1da7.system.entry.js} +1 -1
  447. package/dist/ionic/{p-336ef060.entry.js → p-b6f61c31.entry.js} +1 -1
  448. package/dist/ionic/{p-9954f160.entry.js → p-baa8ce33.entry.js} +1 -1
  449. package/dist/ionic/{p-ab722722.system.entry.js → p-bb164152.system.entry.js} +1 -1
  450. package/dist/ionic/{p-416b7011.system.entry.js → p-bb3a4e1c.system.entry.js} +1 -1
  451. package/dist/ionic/{p-48346946.system.entry.js → p-bc5b1ee8.system.entry.js} +1 -1
  452. package/dist/ionic/{p-78aade1a.entry.js → p-beae3f98.entry.js} +1 -1
  453. package/dist/ionic/{p-8ddc00f7.js → p-c7361cf7.js} +1 -1
  454. package/dist/ionic/{p-6e7f5166.entry.js → p-c7691a0d.entry.js} +1 -1
  455. package/dist/ionic/{p-e88ae7f0.system.entry.js → p-ca169c31.system.entry.js} +1 -1
  456. package/dist/ionic/p-cd55d66b.system.js +4 -0
  457. package/dist/ionic/{p-e4162cae.entry.js → p-cdfd75f6.entry.js} +1 -1
  458. package/dist/ionic/{p-0bc978ee.entry.js → p-d59bebec.entry.js} +1 -1
  459. package/dist/ionic/{p-a53d820e.system.entry.js → p-d675b413.system.entry.js} +1 -1
  460. package/dist/ionic/{p-a0da38e6.system.js → p-d86520e8.system.js} +1 -1
  461. package/dist/ionic/{p-e2bb92ed.system.js → p-db501e46.system.js} +1 -1
  462. package/dist/ionic/p-dc0438ee.system.entry.js +4 -0
  463. package/dist/ionic/{p-23771339.entry.js → p-dd3026cb.entry.js} +1 -1
  464. package/dist/ionic/{p-dd2392f1.entry.js → p-df0033ae.entry.js} +1 -1
  465. package/dist/ionic/{p-6c48dd91.system.js → p-e2719d33.system.js} +1 -1
  466. package/dist/ionic/{p-b853d98f.system.entry.js → p-e30ca961.system.entry.js} +1 -1
  467. package/dist/ionic/{p-f83192d4.entry.js → p-e3184698.entry.js} +1 -1
  468. package/dist/ionic/p-ec1b948f.entry.js +4 -0
  469. package/dist/ionic/{p-0a90cc4d.system.entry.js → p-eddae453.system.entry.js} +1 -1
  470. package/dist/ionic/{p-77cf63b4.entry.js → p-f461bf4d.entry.js} +1 -1
  471. package/dist/ionic/{p-3c6f02cf.system.js → p-f4945d0c.system.js} +1 -1
  472. package/dist/ionic/p-f7dc1a03.entry.js +4 -0
  473. package/dist/ionic/{p-c2289cd1.js → p-f9680e94.js} +1 -1
  474. package/dist/ionic/{p-9a71fceb.system.entry.js → p-faa8c9fc.system.entry.js} +1 -1
  475. package/dist/ionic/{p-6b1b24df.entry.js → p-fb3ff439.entry.js} +1 -1
  476. package/dist/ionic/{p-62a3c609.system.js → p-fb62e0e9.system.js} +1 -1
  477. package/dist/ionic/{p-e45248be.entry.js → p-fc3aeb8f.entry.js} +1 -1
  478. package/dist/ionic/p-fd53465c.system.entry.js +4 -0
  479. package/dist/types/components/checkbox/checkbox.d.ts +1 -24
  480. package/dist/types/components/range/range.d.ts +1 -21
  481. package/dist/types/components.d.ts +0 -18
  482. package/dist/types/utils/config.d.ts +6 -0
  483. package/hydrate/index.js +532 -606
  484. package/package.json +1 -1
  485. package/components/form-controller.js +0 -64
  486. package/dist/cjs/form-controller-7b90d7b7.js +0 -66
  487. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +0 -68
  488. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +0 -14
  489. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +0 -49
  490. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +0 -14
  491. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +0 -75
  492. package/dist/collection/components/range/test/legacy/range-events.e2e.js +0 -90
  493. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +0 -32
  494. package/dist/esm/form-controller-014aa89f.js +0 -64
  495. package/dist/esm-es5/form-controller-014aa89f.js +0 -4
  496. package/dist/esm-es5/index-4b98143d.js +0 -4
  497. package/dist/esm-es5/ios.transition-7ff7381d.js +0 -4
  498. package/dist/esm-es5/md.transition-28a9a26b.js +0 -4
  499. package/dist/esm-es5/swipe-back-7f7620ca.js +0 -4
  500. package/dist/ionic/p-0d25b742.js +0 -4
  501. package/dist/ionic/p-19385313.entry.js +0 -4
  502. package/dist/ionic/p-1b8684c2.system.entry.js +0 -4
  503. package/dist/ionic/p-25b08bc4.system.js +0 -4
  504. package/dist/ionic/p-2f6b3478.system.entry.js +0 -4
  505. package/dist/ionic/p-30d77a91.system.js +0 -4
  506. package/dist/ionic/p-3eb2da31.js +0 -4
  507. package/dist/ionic/p-4f777b5e.js +0 -4
  508. package/dist/ionic/p-54908979.entry.js +0 -4
  509. package/dist/ionic/p-7d6c9121.entry.js +0 -4
  510. package/dist/ionic/p-8f1ce253.js +0 -4
  511. package/dist/ionic/p-90149377.system.entry.js +0 -4
  512. package/dist/ionic/p-95861049.entry.js +0 -4
  513. package/dist/ionic/p-95c44e02.system.js +0 -4
  514. package/dist/ionic/p-b0ba9ea5.entry.js +0 -4
  515. package/dist/ionic/p-b17f058b.system.js +0 -4
  516. package/dist/ionic/p-b4d8fe47.js +0 -4
  517. package/dist/ionic/p-c5c3710c.js +0 -4
  518. package/dist/ionic/p-c6fef62b.system.js +0 -4
  519. package/dist/ionic/p-c858f685.js +0 -4
  520. package/dist/ionic/p-d2670dd3.entry.js +0 -4
  521. package/dist/ionic/p-d9310104.entry.js +0 -4
  522. package/dist/ionic/p-fe990e42.system.entry.js +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ionic/core",
3
- "version": "7.7.2-dev.11707932366.16baf005",
3
+ "version": "7.7.2-dev.11708036667.1fa730de",
4
4
  "description": "Base components for Ionic",
5
5
  "keywords": [
6
6
  "ionic",
@@ -1,64 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { k as findItemLabel } from './helpers.js';
5
-
6
- /**
7
- * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
8
- *
9
- * @internal
10
- * @prop el: The Ionic form component to reference
11
- */
12
- const createLegacyFormController = (el) => {
13
- const controlEl = el;
14
- let legacyControl;
15
- const hasLegacyControl = () => {
16
- if (legacyControl === undefined) {
17
- /**
18
- * Detect if developers are using the legacy form control syntax
19
- * so a deprecation warning is logged. This warning can be disabled
20
- * by either using the new `label` property or setting `aria-label`
21
- * on the control.
22
- * Alternatively, components that use a slot for the label
23
- * can check to see if the component has slotted text
24
- * in the light DOM.
25
- */
26
- const hasLabelProp = controlEl.label !== undefined || hasLabelSlot(controlEl);
27
- const hasAriaLabelAttribute = controlEl.hasAttribute('aria-label') ||
28
- // Shadow DOM form controls cannot use aria-labelledby
29
- (controlEl.hasAttribute('aria-labelledby') && controlEl.shadowRoot === null);
30
- const legacyItemLabel = findItemLabel(controlEl);
31
- /**
32
- * Developers can manually opt-out of the modern form markup
33
- * by setting `legacy="true"` on components.
34
- */
35
- legacyControl =
36
- controlEl.legacy === true || (!hasLabelProp && !hasAriaLabelAttribute && legacyItemLabel !== null);
37
- }
38
- return legacyControl;
39
- };
40
- return { hasLegacyControl };
41
- };
42
- const hasLabelSlot = (controlEl) => {
43
- /**
44
- * Components that have a named label slot
45
- * also have other slots, so we need to query for
46
- * anything that is explicitly passed to slot="label"
47
- */
48
- if (NAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.querySelector('[slot="label"]') !== null) {
49
- return true;
50
- }
51
- /**
52
- * Components that have an unnamed slot for the label
53
- * have no other slots, so we can check the textContent
54
- * of the element.
55
- */
56
- if (UNNAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.textContent !== '') {
57
- return true;
58
- }
59
- return false;
60
- };
61
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
62
- const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
63
-
64
- export { createLegacyFormController as c };
@@ -1,66 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- 'use strict';
5
-
6
- const helpers = require('./helpers-2e1028fa.js');
7
-
8
- /**
9
- * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
10
- *
11
- * @internal
12
- * @prop el: The Ionic form component to reference
13
- */
14
- const createLegacyFormController = (el) => {
15
- const controlEl = el;
16
- let legacyControl;
17
- const hasLegacyControl = () => {
18
- if (legacyControl === undefined) {
19
- /**
20
- * Detect if developers are using the legacy form control syntax
21
- * so a deprecation warning is logged. This warning can be disabled
22
- * by either using the new `label` property or setting `aria-label`
23
- * on the control.
24
- * Alternatively, components that use a slot for the label
25
- * can check to see if the component has slotted text
26
- * in the light DOM.
27
- */
28
- const hasLabelProp = controlEl.label !== undefined || hasLabelSlot(controlEl);
29
- const hasAriaLabelAttribute = controlEl.hasAttribute('aria-label') ||
30
- // Shadow DOM form controls cannot use aria-labelledby
31
- (controlEl.hasAttribute('aria-labelledby') && controlEl.shadowRoot === null);
32
- const legacyItemLabel = helpers.findItemLabel(controlEl);
33
- /**
34
- * Developers can manually opt-out of the modern form markup
35
- * by setting `legacy="true"` on components.
36
- */
37
- legacyControl =
38
- controlEl.legacy === true || (!hasLabelProp && !hasAriaLabelAttribute && legacyItemLabel !== null);
39
- }
40
- return legacyControl;
41
- };
42
- return { hasLegacyControl };
43
- };
44
- const hasLabelSlot = (controlEl) => {
45
- /**
46
- * Components that have a named label slot
47
- * also have other slots, so we need to query for
48
- * anything that is explicitly passed to slot="label"
49
- */
50
- if (NAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.querySelector('[slot="label"]') !== null) {
51
- return true;
52
- }
53
- /**
54
- * Components that have an unnamed slot for the label
55
- * have no other slots, so we can check the textContent
56
- * of the element.
57
- */
58
- if (UNNAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.textContent !== '') {
59
- return true;
60
- }
61
- return false;
62
- };
63
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
64
- const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
65
-
66
- exports.createLegacyFormController = createLegacyFormController;
@@ -1,68 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('checkbox: basic (legacy)'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/checkbox/test/legacy/basic`, config);
10
- await page.setIonViewport();
11
- await expect(page).toHaveScreenshot(screenshot(`checkbox-legacy-basic`));
12
- });
13
- });
14
- });
15
- configs({ directions: ['ltr'] }).forEach(({ title, config }) => {
16
- test.describe(title('checkbox: ionChange'), () => {
17
- test('should fire ionChange when interacting with checkbox', async ({ page }) => {
18
- await page.setContent(`
19
- <ion-checkbox value="my-checkbox"></ion-checkbox>
20
- `, config);
21
- const ionChange = await page.spyOnEvent('ionChange');
22
- const checkbox = page.locator('ion-checkbox');
23
- await checkbox.click();
24
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: true });
25
- await checkbox.click();
26
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: false });
27
- });
28
- test('should fire ionChange when interacting with checkbox in item', async ({ page }) => {
29
- await page.setContent(`
30
- <ion-item>
31
- <ion-checkbox value="my-checkbox"></ion-checkbox>
32
- </ion-item>
33
- `, config);
34
- const ionChange = await page.spyOnEvent('ionChange');
35
- const item = page.locator('ion-item');
36
- await item.click();
37
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: true });
38
- await item.click();
39
- await expect(ionChange).toHaveReceivedEventDetail({ value: 'my-checkbox', checked: false });
40
- });
41
- test('should not fire when programmatically setting a value', async ({ page }) => {
42
- await page.setContent(`
43
- <ion-checkbox value="my-checkbox"></ion-checkbox>
44
- `, config);
45
- const ionChange = await page.spyOnEvent('ionChange');
46
- const checkbox = page.locator('ion-checkbox');
47
- await checkbox.evaluate((el) => (el.checked = true));
48
- await expect(ionChange).not.toHaveReceivedEvent();
49
- });
50
- test('clicking padded space within item should click the checkbox', async ({ page }) => {
51
- await page.setContent(`
52
- <ion-item>
53
- <ion-checkbox legacy="true" value="my-checkbox"></ion-checkbox>
54
- </ion-item>
55
- `, config);
56
- const itemNative = page.locator('.item-native');
57
- const ionChange = await page.spyOnEvent('ionChange');
58
- // Clicks the padded space within the item
59
- await itemNative.click({
60
- position: {
61
- x: 5,
62
- y: 5,
63
- },
64
- });
65
- expect(ionChange).toHaveReceivedEvent();
66
- });
67
- });
68
- });
@@ -1,14 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('checkbox: indeterminate (legacy)'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/checkbox/test/legacy/indeterminate`, config);
10
- const content = page.locator('#checkboxes');
11
- await expect(content).toHaveScreenshot(screenshot(`checkbox-legacy-indeterminate`));
12
- });
13
- });
14
- });
@@ -1,49 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- /**
7
- * iOS mode does not display hover/active/focus styles.
8
- */
9
- configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
10
- test.describe(title('range: a11y'), () => {
11
- test('should not have visual regressions', async ({ page }) => {
12
- await page.setContent(`<ion-app>
13
- <ion-content>
14
- <ion-range min="0" max="100" value="80" legacy="true"></ion-range>
15
- </ion-content>
16
- </ion-app>
17
- `, config);
18
- const range = page.locator('ion-range');
19
- const rangeHandle = range.locator('.range-knob-handle');
20
- await rangeHandle.evaluate((el) => el.classList.add('ion-focused'));
21
- await page.waitForChanges();
22
- await expect(range).toHaveScreenshot(screenshot(`range-focus`));
23
- const box = (await rangeHandle.boundingBox());
24
- const centerX = box.x + box.width / 2;
25
- const centerY = box.y + box.height / 2;
26
- await page.mouse.move(centerX, centerY);
27
- await page.mouse.down();
28
- await page.waitForChanges();
29
- await expect(range).toHaveScreenshot(screenshot(`range-active`));
30
- });
31
- });
32
- });
33
- configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
34
- test.describe(title('with pin'), () => {
35
- test('should not have visual regressions', async ({ page }) => {
36
- await page.setContent(`<ion-app>
37
- <ion-content>
38
- <ion-range min="0" max="100" value="50" pin="true" legacy="true"></ion-range>
39
- </ion-content>
40
- </ion-app>
41
- `, config);
42
- const range = page.locator('ion-range');
43
- const rangeHandle = range.locator('.range-knob-handle');
44
- await rangeHandle.evaluate((el) => el.classList.add('ion-focused'));
45
- await page.waitForChanges();
46
- await expect(range).toHaveScreenshot(screenshot(`range-focus-with-pin`));
47
- });
48
- });
49
- });
@@ -1,14 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('range: activeBarStart'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/range/test/legacy/active-bar-start`, config);
10
- await page.setIonViewport();
11
- await expect(page).toHaveScreenshot(screenshot(`range-activeBarStart-diff`));
12
- });
13
- });
14
- });
@@ -1,75 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, dragElementBy, test } from "../../../../../utils/test/playwright/index";
6
- configs().forEach(({ title, screenshot, config }) => {
7
- test.describe(title('range: rendering'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto(`/src/components/range/test/legacy/basic`, config);
10
- await page.setIonViewport();
11
- await expect(page).toHaveScreenshot(screenshot(`range-diff`));
12
- });
13
- });
14
- });
15
- /**
16
- * This behavior does not vary across modes/directions.
17
- */
18
- configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
19
- test.describe(title('range: behavior'), () => {
20
- /**
21
- * The mouse events are flaky on CI
22
- * TODO FW-2873
23
- */
24
- test.fixme('should emit start/end events', async ({ page }) => {
25
- await page.setContent(`<ion-range value="20" legacy="true"></ion-range>`, config);
26
- const rangeStart = await page.spyOnEvent('ionKnobMoveStart');
27
- const rangeEnd = await page.spyOnEvent('ionKnobMoveEnd');
28
- const rangeEl = page.locator('ion-range');
29
- await dragElementBy(rangeEl, page, 300, 0);
30
- await page.waitForChanges();
31
- /**
32
- * dragElementBy defaults to starting the drag from the middle of the el,
33
- * so the start value should jump to 50 despite the range defaulting to 20.
34
- */
35
- expect(rangeStart).toHaveReceivedEventDetail({ value: 50 });
36
- expect(rangeEnd).toHaveReceivedEventDetail({ value: 100 });
37
- /**
38
- * Verify both events fire if range is clicked without dragging.
39
- */
40
- await dragElementBy(rangeEl, page, 0, 0);
41
- await page.waitForChanges();
42
- expect(rangeStart).toHaveReceivedEventDetail({ value: 50 });
43
- expect(rangeEnd).toHaveReceivedEventDetail({ value: 50 });
44
- });
45
- test('should emit start/end events, keyboard', async ({ page }) => {
46
- await page.setContent(`<ion-range value="20" legacy="true"></ion-range>`, config);
47
- const rangeStart = await page.spyOnEvent('ionKnobMoveStart');
48
- const rangeEnd = await page.spyOnEvent('ionKnobMoveEnd');
49
- await page.keyboard.press('Tab'); // focus first range
50
- await page.keyboard.press('ArrowRight');
51
- await rangeStart.next();
52
- await rangeEnd.next();
53
- expect(rangeStart).toHaveReceivedEventDetail({ value: 20 });
54
- expect(rangeEnd).toHaveReceivedEventDetail({ value: 21 });
55
- });
56
- // TODO FW-2873
57
- test.skip('should not scroll when the knob is swiped', async ({ page, skip }) => {
58
- skip.browser('webkit', 'mouse.wheel is not available in WebKit');
59
- await page.goto(`/src/components/range/test/legacy/basic`, config);
60
- const knobEl = page.locator('ion-range#stacked-range .range-knob-handle');
61
- const scrollEl = page.locator('ion-content .inner-scroll');
62
- expect(await scrollEl.evaluate((el) => el.scrollTop)).toEqual(0);
63
- await dragElementBy(knobEl, page, 30, 0, undefined, undefined, false);
64
- /**
65
- * Do not use scrollToBottom() or other scrolling methods
66
- * on ion-content as those will update the scroll position.
67
- * Setting scrollTop still works even with overflow-y: hidden.
68
- * However, simulating a user gesture should not scroll the content.
69
- */
70
- await page.mouse.wheel(0, 100);
71
- await page.waitForChanges();
72
- expect(await scrollEl.evaluate((el) => el.scrollTop)).toEqual(0);
73
- });
74
- });
75
- });
@@ -1,90 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../utils/test/playwright/index";
6
- configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
7
- test.describe(title('range: events:'), () => {
8
- test.describe(' ionChange', () => {
9
- test('should not emit if the value is set programmatically', async ({ page }) => {
10
- await page.setContent(`<ion-range></ion-range>`, config);
11
- const range = page.locator('ion-range');
12
- const ionChangeSpy = await page.spyOnEvent('ionChange');
13
- await range.evaluate((el) => {
14
- el.value = 50;
15
- });
16
- await page.waitForChanges();
17
- expect(ionChangeSpy).toHaveReceivedEventTimes(0);
18
- // Update the value again to make sure it doesn't emit a second time
19
- await range.evaluate((el) => {
20
- el.value = 60;
21
- });
22
- await page.waitForChanges();
23
- expect(ionChangeSpy).toHaveReceivedEventTimes(0);
24
- });
25
- // TODO(FW-2873)
26
- test.skip('should emit when the knob is released', async ({ page }) => {
27
- await page.setContent(`<ion-range></ion-range>`, config);
28
- const rangeHandle = page.locator('ion-range .range-knob-handle');
29
- const ionChangeSpy = await page.spyOnEvent('ionChange');
30
- const boundingBox = await rangeHandle.boundingBox();
31
- await rangeHandle.hover();
32
- await page.mouse.down();
33
- await page.mouse.move(boundingBox.x + 100, boundingBox.y);
34
- await page.mouse.up();
35
- await ionChangeSpy.next();
36
- expect(ionChangeSpy).toHaveReceivedEventTimes(1);
37
- });
38
- test('should emit when the knob is moved with the keyboard', async ({ page }) => {
39
- await page.setContent(`<ion-range value="50"></ion-range>`, config);
40
- const rangeHandle = page.locator('ion-range .range-knob-handle');
41
- const ionChangeSpy = await page.spyOnEvent('ionChange');
42
- await rangeHandle.click();
43
- await page.keyboard.press('ArrowLeft');
44
- await ionChangeSpy.next();
45
- expect(ionChangeSpy).toHaveReceivedEventDetail({ value: 49 });
46
- await page.keyboard.press('ArrowRight');
47
- await ionChangeSpy.next();
48
- expect(ionChangeSpy).toHaveReceivedEventDetail({ value: 50 });
49
- await page.keyboard.press('ArrowUp');
50
- await ionChangeSpy.next();
51
- expect(ionChangeSpy).toHaveReceivedEventDetail({ value: 51 });
52
- await page.keyboard.press('ArrowDown');
53
- await ionChangeSpy.next();
54
- expect(ionChangeSpy).toHaveReceivedEventDetail({ value: 50 });
55
- });
56
- });
57
- test.describe('ionInput', () => {
58
- // TODO(FW-2873) Enable this test when touch events/gestures are better supported in Playwright
59
- test.skip('should emit when the knob is dragged', async ({ page }) => {
60
- await page.setContent(`<ion-range></ion-range>`, config);
61
- const rangeHandle = page.locator('ion-range .range-knob-handle');
62
- const ionInputSpy = await page.spyOnEvent('ionInput');
63
- const boundingBox = await rangeHandle.boundingBox();
64
- await rangeHandle.hover();
65
- await page.mouse.down();
66
- await page.mouse.move(boundingBox.x + 100, boundingBox.y);
67
- await ionInputSpy.next();
68
- expect(ionInputSpy).toHaveReceivedEvent();
69
- });
70
- test('should emit when the knob is moved with the keyboard', async ({ page }) => {
71
- await page.setContent(`<ion-range value="50"></ion-range>`, config);
72
- const rangeHandle = page.locator('ion-range .range-knob-handle');
73
- const ionInputSpy = await page.spyOnEvent('ionInput');
74
- await rangeHandle.click();
75
- await page.keyboard.press('ArrowLeft');
76
- await ionInputSpy.next();
77
- expect(ionInputSpy).toHaveReceivedEventDetail({ value: 49 });
78
- await page.keyboard.press('ArrowRight');
79
- await ionInputSpy.next();
80
- expect(ionInputSpy).toHaveReceivedEventDetail({ value: 50 });
81
- await page.keyboard.press('ArrowUp');
82
- await ionInputSpy.next();
83
- expect(ionInputSpy).toHaveReceivedEventDetail({ value: 51 });
84
- await page.keyboard.press('ArrowDown');
85
- await ionInputSpy.next();
86
- expect(ionInputSpy).toHaveReceivedEventDetail({ value: 50 });
87
- });
88
- });
89
- });
90
- });
@@ -1,32 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { expect } from "@playwright/test";
5
- import { configs, test } from "../../../../../utils/test/playwright/index";
6
- // TODO FW-2873
7
- configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => {
8
- test.describe.skip(title('range: scroll-target'), () => {
9
- test('should not scroll when the knob is swiped in custom scroll target', async ({ page, skip }) => {
10
- skip.browser('webkit', 'mouse.wheel is not available in WebKit');
11
- await page.goto(`/src/components/range/test/legacy/scroll-target`, config);
12
- const knobEl = page.locator('ion-range .range-knob-handle');
13
- const scrollEl = page.locator('.ion-content-scroll-host');
14
- expect(await scrollEl.evaluate((el) => el.scrollTop)).toEqual(0);
15
- const box = (await knobEl.boundingBox());
16
- const centerX = box.x + box.width / 2;
17
- const centerY = box.y + box.height / 2;
18
- await page.mouse.move(centerX, centerY);
19
- await page.mouse.down();
20
- await page.mouse.move(centerX + 30, centerY);
21
- /**
22
- * Do not use scrollToBottom() or other scrolling methods
23
- * on ion-content as those will update the scroll position.
24
- * Setting scrollTop still works even with overflow-y: hidden.
25
- * However, simulating a user gesture should not scroll the content.
26
- */
27
- await page.mouse.wheel(0, 100);
28
- await page.waitForChanges();
29
- expect(await scrollEl.evaluate((el) => el.scrollTop)).toEqual(0);
30
- });
31
- });
32
- });
@@ -1,64 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { h as findItemLabel } from './helpers-c0b9ca37.js';
5
-
6
- /**
7
- * Creates a controller that tracks whether a form control is using the legacy or modern syntax. This should be removed when the legacy form control syntax is removed.
8
- *
9
- * @internal
10
- * @prop el: The Ionic form component to reference
11
- */
12
- const createLegacyFormController = (el) => {
13
- const controlEl = el;
14
- let legacyControl;
15
- const hasLegacyControl = () => {
16
- if (legacyControl === undefined) {
17
- /**
18
- * Detect if developers are using the legacy form control syntax
19
- * so a deprecation warning is logged. This warning can be disabled
20
- * by either using the new `label` property or setting `aria-label`
21
- * on the control.
22
- * Alternatively, components that use a slot for the label
23
- * can check to see if the component has slotted text
24
- * in the light DOM.
25
- */
26
- const hasLabelProp = controlEl.label !== undefined || hasLabelSlot(controlEl);
27
- const hasAriaLabelAttribute = controlEl.hasAttribute('aria-label') ||
28
- // Shadow DOM form controls cannot use aria-labelledby
29
- (controlEl.hasAttribute('aria-labelledby') && controlEl.shadowRoot === null);
30
- const legacyItemLabel = findItemLabel(controlEl);
31
- /**
32
- * Developers can manually opt-out of the modern form markup
33
- * by setting `legacy="true"` on components.
34
- */
35
- legacyControl =
36
- controlEl.legacy === true || (!hasLabelProp && !hasAriaLabelAttribute && legacyItemLabel !== null);
37
- }
38
- return legacyControl;
39
- };
40
- return { hasLegacyControl };
41
- };
42
- const hasLabelSlot = (controlEl) => {
43
- /**
44
- * Components that have a named label slot
45
- * also have other slots, so we need to query for
46
- * anything that is explicitly passed to slot="label"
47
- */
48
- if (NAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.querySelector('[slot="label"]') !== null) {
49
- return true;
50
- }
51
- /**
52
- * Components that have an unnamed slot for the label
53
- * have no other slots, so we can check the textContent
54
- * of the element.
55
- */
56
- if (UNNAMED_LABEL_SLOT_COMPONENTS.includes(controlEl.tagName) && controlEl.textContent !== '') {
57
- return true;
58
- }
59
- return false;
60
- };
61
- const NAMED_LABEL_SLOT_COMPONENTS = ['ION-INPUT', 'ION-TEXTAREA', 'ION-SELECT', 'ION-RANGE'];
62
- const UNNAMED_LABEL_SLOT_COMPONENTS = ['ION-TOGGLE', 'ION-CHECKBOX', 'ION-RADIO'];
63
-
64
- export { createLegacyFormController as c };
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{h as findItemLabel}from"./helpers-c0b9ca37.js";var createLegacyFormController=function(r){var e=r;var a;var l=function(){if(a===undefined){var r=e.label!==undefined||hasLabelSlot(e);var l=e.hasAttribute("aria-label")||e.hasAttribute("aria-labelledby")&&e.shadowRoot===null;var n=findItemLabel(e);a=e.legacy===true||!r&&!l&&n!==null}return a};return{hasLegacyControl:l}};var hasLabelSlot=function(r){if(NAMED_LABEL_SLOT_COMPONENTS.includes(r.tagName)&&r.querySelector('[slot="label"]')!==null){return true}if(UNNAMED_LABEL_SLOT_COMPONENTS.includes(r.tagName)&&r.textContent!==""){return true}return false};var NAMED_LABEL_SLOT_COMPONENTS=["ION-INPUT","ION-TEXTAREA","ION-SELECT","ION-RANGE"];var UNNAMED_LABEL_SLOT_COMPONENTS=["ION-TOGGLE","ION-CHECKBOX","ION-RADIO"];export{createLegacyFormController as c};
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{w as writeTask,B as Build}from"./index-73881b51.js";import{r as raf}from"./helpers-c0b9ca37.js";var LIFECYCLE_WILL_ENTER="ionViewWillEnter";var LIFECYCLE_DID_ENTER="ionViewDidEnter";var LIFECYCLE_WILL_LEAVE="ionViewWillLeave";var LIFECYCLE_DID_LEAVE="ionViewDidLeave";var LIFECYCLE_WILL_UNLOAD="ionViewWillUnload";var iosTransitionAnimation=function(){return import("./ios.transition-7ff7381d.js")};var mdTransitionAnimation=function(){return import("./md.transition-28a9a26b.js")};var transition=function(n){return new Promise((function(e,i){writeTask((function(){beforeTransition(n);runTransition(n).then((function(i){if(i.animation){i.animation.destroy()}afterTransition(n);e(i)}),(function(e){afterTransition(n);i(e)}))}))}))};var beforeTransition=function(n){var e=n.enteringEl;var i=n.leavingEl;setZIndex(e,i,n.direction);if(n.showGoBack){e.classList.add("can-go-back")}else{e.classList.remove("can-go-back")}setPageHidden(e,false);e.style.setProperty("pointer-events","none");if(i){setPageHidden(i,false);i.style.setProperty("pointer-events","none")}};var runTransition=function(n){return __awaiter(void 0,void 0,void 0,(function(){var e,i;return __generator(this,(function(r){switch(r.label){case 0:return[4,getAnimationBuilder(n)];case 1:e=r.sent();i=e&&Build.isBrowser?animation(e,n):noAnimation(n);return[2,i]}}))}))};var afterTransition=function(n){var e=n.enteringEl;var i=n.leavingEl;e.classList.remove("ion-page-invisible");e.style.removeProperty("pointer-events");if(i!==undefined){i.classList.remove("ion-page-invisible");i.style.removeProperty("pointer-events")}};var getAnimationBuilder=function(n){return __awaiter(void 0,void 0,void 0,(function(){var e,i;return __generator(this,(function(r){switch(r.label){case 0:if(!n.leavingEl||!n.animated||n.duration===0){return[2,undefined]}if(n.animationBuilder){return[2,n.animationBuilder]}if(!(n.mode==="ios"))return[3,2];return[4,iosTransitionAnimation()];case 1:i=r.sent().iosTransitionAnimation;return[3,4];case 2:return[4,mdTransitionAnimation()];case 3:i=r.sent().mdTransitionAnimation;r.label=4;case 4:e=i;return[2,e]}}))}))};var animation=function(n,e){return __awaiter(void 0,void 0,void 0,(function(){var i,r;return __generator(this,(function(t){switch(t.label){case 0:return[4,waitForReady(e,true)];case 1:t.sent();i=n(e.baseEl,e);fireWillEvents(e.enteringEl,e.leavingEl);return[4,playTransition(i,e)];case 2:r=t.sent();if(e.progressCallback){e.progressCallback(undefined)}if(r){fireDidEvents(e.enteringEl,e.leavingEl)}return[2,{hasCompleted:r,animation:i}]}}))}))};var noAnimation=function(n){return __awaiter(void 0,void 0,void 0,(function(){var e,i;return __generator(this,(function(r){switch(r.label){case 0:e=n.enteringEl;i=n.leavingEl;return[4,waitForReady(n,false)];case 1:r.sent();fireWillEvents(e,i);fireDidEvents(e,i);return[2,{hasCompleted:true}]}}))}))};var waitForReady=function(n,e){return __awaiter(void 0,void 0,void 0,(function(){var i;return __generator(this,(function(r){switch(r.label){case 0:i=n.deepWait!==undefined?n.deepWait:e;if(!i)return[3,2];return[4,Promise.all([deepReady(n.enteringEl),deepReady(n.leavingEl)])];case 1:r.sent();r.label=2;case 2:return[4,notifyViewReady(n.viewIsReady,n.enteringEl)];case 3:r.sent();return[2]}}))}))};var notifyViewReady=function(n,e){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(i){switch(i.label){case 0:if(!n)return[3,2];return[4,n(e)];case 1:i.sent();i.label=2;case 2:return[2]}}))}))};var playTransition=function(n,e){var i=e.progressCallback;var r=new Promise((function(e){n.onFinish((function(n){return e(n===1)}))}));if(i){n.progressStart(true);i(n)}else{n.play()}return r};var fireWillEvents=function(n,e){lifecycle(e,LIFECYCLE_WILL_LEAVE);lifecycle(n,LIFECYCLE_WILL_ENTER)};var fireDidEvents=function(n,e){lifecycle(n,LIFECYCLE_DID_ENTER);lifecycle(e,LIFECYCLE_DID_LEAVE)};var lifecycle=function(n,e){if(n){var i=new CustomEvent(e,{bubbles:false,cancelable:false});n.dispatchEvent(i)}};var waitForMount=function(){return new Promise((function(n){return raf((function(){return raf((function(){return n()}))}))}))};var deepReady=function(n){return __awaiter(void 0,void 0,void 0,(function(){var e,i,r;return __generator(this,(function(t){switch(t.label){case 0:e=n;if(!e)return[3,6];if(!(e.componentOnReady!=null))return[3,2];return[4,e.componentOnReady()];case 1:i=t.sent();if(i!=null){return[2]}return[3,4];case 2:if(!(e.__registerHost!=null))return[3,4];r=new Promise((function(n){return raf(n)}));return[4,r];case 3:t.sent();return[2];case 4:return[4,Promise.all(Array.from(e.children).map(deepReady))];case 5:t.sent();t.label=6;case 6:return[2]}}))}))};var setPageHidden=function(n,e){if(e){n.setAttribute("aria-hidden","true");n.classList.add("ion-page-hidden")}else{n.hidden=false;n.removeAttribute("aria-hidden");n.classList.remove("ion-page-hidden")}};var setZIndex=function(n,e,i){if(n!==undefined){n.style.zIndex=i==="back"?"99":"101"}if(e!==undefined){e.style.zIndex="100"}};var getIonPageElement=function(n){if(n.classList.contains("ion-page")){return n}var e=n.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs");if(e){return e}return n};export{LIFECYCLE_WILL_ENTER as L,LIFECYCLE_DID_ENTER as a,LIFECYCLE_WILL_LEAVE as b,LIFECYCLE_DID_LEAVE as c,LIFECYCLE_WILL_UNLOAD as d,deepReady as e,getIonPageElement as g,lifecycle as l,setPageHidden as s,transition as t,waitForMount as w};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as createAnimation}from"./animation-60dbdd13.js";import{g as getIonPageElement}from"./index-4b98143d.js";import"./index-a5d50daf.js";import"./helpers-c0b9ca37.js";import"./index-73881b51.js";var DURATION=540;var getClonedElement=function(a){return document.querySelector("".concat(a,".ion-cloned-element"))};var shadow=function(a){return a.shadowRoot||a};var getLargeTitle=function(a){var t=a.tagName==="ION-TABS"?a:a.querySelector("ion-tabs");var r="ion-content ion-header:not(.header-collapse-condense-inactive) ion-title.title-large";if(t!=null){var n=t.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");return n!=null?n.querySelector(r):null}return a.querySelector(r)};var getBackButton=function(a,t){var r=a.tagName==="ION-TABS"?a:a.querySelector("ion-tabs");var n=[];if(r!=null){var o=r.querySelector("ion-tab:not(.tab-hidden), .ion-page:not(.ion-page-hidden)");if(o!=null){n=o.querySelectorAll("ion-buttons")}}else{n=a.querySelectorAll("ion-buttons")}for(var e=0,i=n;e<i.length;e++){var s=i[e];var l=s.closest("ion-header");var v=l&&!l.classList.contains("header-collapse-condense-inactive");var c=s.querySelector("ion-back-button");var f=s.classList.contains("buttons-collapse");var p=s.slot==="start"||s.slot==="";if(c!==null&&p&&(f&&v&&t||!f)){return c}}return null};var createLargeTitleTransition=function(a,t,r,n,o){var e=getBackButton(n,r);var i=getLargeTitle(o);var s=getLargeTitle(n);var l=getBackButton(o,r);var v=e!==null&&i!==null&&!r;var c=s!==null&&l!==null&&r;if(v){var f=i.getBoundingClientRect();var p=e.getBoundingClientRect();var d=shadow(e).querySelector(".button-text");var m=d.getBoundingClientRect();var u=shadow(i).querySelector(".toolbar-title");var b=u.getBoundingClientRect();animateLargeTitle(a,t,r,i,f,b,d,m);animateBackButton(a,t,r,e,p,d,m,i,b)}else if(c){var g=s.getBoundingClientRect();var h=l.getBoundingClientRect();var A=shadow(l).querySelector(".button-text");var y=A.getBoundingClientRect();var X=shadow(s).querySelector(".toolbar-title");var x=X.getBoundingClientRect();animateLargeTitle(a,t,r,s,g,x,A,y);animateBackButton(a,t,r,l,h,A,y,s,x)}return{forward:v,backward:c}};var animateBackButton=function(a,t,r,n,o,e,i,s,l){var v;var c,f;var p=t?"calc(100% - ".concat(o.right+4,"px)"):"".concat(o.left-4,"px");var d=t?"right":"left";var m=t?"left":"right";var u=t?"right":"left";var b=((c=e.textContent)===null||c===void 0?void 0:c.trim())===((f=s.textContent)===null||f===void 0?void 0:f.trim());var g=l.width/i.width;var h=(l.height-LARGE_TITLE_SIZE_OFFSET)/i.height;var A=b?"scale(".concat(g,", ").concat(h,")"):"scale(".concat(h,")");var y="scale(1)";var X=shadow(n).querySelector("ion-icon");var x=X.getBoundingClientRect();var T=t?"".concat(x.width/2-(x.right-o.right),"px"):"".concat(o.left-x.width/2,"px");var w=t?"-".concat(window.innerWidth-o.right,"px"):"".concat(o.left,"px");var k="".concat(l.top,"px");var E="".concat(o.top,"px");var B=[{offset:0,transform:"translate3d(".concat(T,", ").concat(k,", 0)")},{offset:1,transform:"translate3d(".concat(w,", ").concat(E,", 0)")}];var L=[{offset:0,transform:"translate3d(".concat(w,", ").concat(E,", 0)")},{offset:1,transform:"translate3d(".concat(T,", ").concat(k,", 0)")}];var I=r?L:B;var _=[{offset:0,opacity:0,transform:A},{offset:1,opacity:1,transform:y}];var S=[{offset:0,opacity:1,transform:y},{offset:1,opacity:0,transform:A}];var O=r?S:_;var F=[{offset:0,opacity:0,transform:"scale(0.6)"},{offset:.6,opacity:0,transform:"scale(0.6)"},{offset:1,opacity:1,transform:"scale(1)"}];var j=[{offset:0,opacity:1,transform:"scale(1)"},{offset:.2,opacity:0,transform:"scale(0.6)"},{offset:1,opacity:0,transform:"scale(0.6)"}];var R=r?j:F;var N=createAnimation();var C=createAnimation();var G=createAnimation();var Z=getClonedElement("ion-back-button");var D=shadow(Z).querySelector(".button-text");var P=shadow(Z).querySelector("ion-icon");Z.text=n.text;Z.mode=n.mode;Z.icon=n.icon;Z.color=n.color;Z.disabled=n.disabled;Z.style.setProperty("display","block");Z.style.setProperty("position","fixed");C.addElement(P);N.addElement(D);G.addElement(Z);G.beforeStyles((v={position:"absolute",top:"0px"},v[u]="0px",v)).keyframes(I);N.beforeStyles({"transform-origin":"".concat(d," top")}).beforeAddWrite((function(){n.style.setProperty("display","none");Z.style.setProperty(d,p)})).afterAddWrite((function(){n.style.setProperty("display","");Z.style.setProperty("display","none");Z.style.removeProperty(d)})).keyframes(O);C.beforeStyles({"transform-origin":"".concat(m," center")}).keyframes(R);a.addAnimation([N,C,G])};var animateLargeTitle=function(a,t,r,n,o,e,i,s){var l;var v,c;var f=t?"right":"left";var p=t?"calc(100% - ".concat(o.right,"px)"):"".concat(o.left,"px");var d="0px";var m="".concat(o.top,"px");var u=8;var b=t?"-".concat(window.innerWidth-s.right-u,"px"):"".concat(s.x-u,"px");var g=2;var h="".concat(s.y-g,"px");var A=((v=i.textContent)===null||v===void 0?void 0:v.trim())===((c=n.textContent)===null||c===void 0?void 0:c.trim());var y=s.width/e.width;var X=s.height/(e.height-LARGE_TITLE_SIZE_OFFSET);var x="scale(1)";var T=A?"scale(".concat(y,", ").concat(X,")"):"scale(".concat(X,")");var w=[{offset:0,opacity:0,transform:"translate3d(".concat(b,", ").concat(h,", 0) ").concat(T)},{offset:.1,opacity:0},{offset:1,opacity:1,transform:"translate3d(".concat(d,", ").concat(m,", 0) ").concat(x)}];var k=[{offset:0,opacity:.99,transform:"translate3d(".concat(d,", ").concat(m,", 0) ").concat(x)},{offset:.6,opacity:0},{offset:1,opacity:0,transform:"translate3d(".concat(b,", ").concat(h,", 0) ").concat(T)}];var E=r?w:k;var B=getClonedElement("ion-title");var L=createAnimation();B.innerText=n.innerText;B.size=n.size;B.color=n.color;L.addElement(B);L.beforeStyles((l={"transform-origin":"".concat(f," top"),height:"".concat(o.height,"px"),display:"",position:"relative"},l[f]=p,l)).beforeAddWrite((function(){n.style.setProperty("opacity","0")})).afterAddWrite((function(){n.style.setProperty("opacity","");B.style.setProperty("display","none")})).keyframes(E);a.addAnimation(L)};var iosTransitionAnimation=function(a,t){var r;try{var n="cubic-bezier(0.32,0.72,0,1)";var o="opacity";var e="transform";var i="0%";var s=.8;var l=a.ownerDocument.dir==="rtl";var v=l?"-99.5%":"99.5%";var c=l?"33%":"-33%";var f=t.enteringEl;var p=t.leavingEl;var d=t.direction==="back";var m=f.querySelector(":scope > ion-content");var u=f.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");var b=f.querySelectorAll(":scope > ion-header > ion-toolbar");var g=createAnimation();var h=createAnimation();g.addElement(f).duration(((r=t.duration)!==null&&r!==void 0?r:0)||DURATION).easing(t.easing||n).fill("both").beforeRemoveClass("ion-page-invisible");if(p&&a!==null&&a!==undefined){var A=createAnimation();A.addElement(a);g.addAnimation(A)}if(!m&&b.length===0&&u.length===0){h.addElement(f.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs"))}else{h.addElement(m);h.addElement(u)}g.addAnimation(h);if(d){h.beforeClearStyles([o]).fromTo("transform","translateX(".concat(c,")"),"translateX(".concat(i,")")).fromTo(o,s,1)}else{h.beforeClearStyles([o]).fromTo("transform","translateX(".concat(v,")"),"translateX(".concat(i,")"))}if(m){var y=shadow(m).querySelector(".transition-effect");if(y){var X=y.querySelector(".transition-cover");var x=y.querySelector(".transition-shadow");var T=createAnimation();var w=createAnimation();var k=createAnimation();T.addElement(y).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""});w.addElement(X).beforeClearStyles([o]).fromTo(o,0,.1);k.addElement(x).beforeClearStyles([o]).fromTo(o,.03,.7);T.addAnimation([w,k]);h.addAnimation([T])}}var E=f.querySelector("ion-header.header-collapse-condense");var B=createLargeTitleTransition(g,l,d,f,p),L=B.forward,I=B.backward;b.forEach((function(a){var t=createAnimation();t.addElement(a);g.addAnimation(t);var r=createAnimation();r.addElement(a.querySelector("ion-title"));var n=createAnimation();var e=Array.from(a.querySelectorAll("ion-buttons,[menuToggle]"));var s=a.closest("ion-header");var f=s===null||s===void 0?void 0:s.classList.contains("header-collapse-condense-inactive");var p;if(d){p=e.filter((function(a){var t=a.classList.contains("buttons-collapse");return t&&!f||!t}))}else{p=e.filter((function(a){return!a.classList.contains("buttons-collapse")}))}n.addElement(p);var m=createAnimation();m.addElement(a.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])"));var u=createAnimation();u.addElement(shadow(a).querySelector(".toolbar-background"));var b=createAnimation();var h=a.querySelector("ion-back-button");if(h){b.addElement(h)}t.addAnimation([r,n,m,u,b]);n.fromTo(o,.01,1);m.fromTo(o,.01,1);if(d){if(!f){r.fromTo("transform","translateX(".concat(c,")"),"translateX(".concat(i,")")).fromTo(o,.01,1)}m.fromTo("transform","translateX(".concat(c,")"),"translateX(".concat(i,")"));b.fromTo(o,.01,1)}else{if(!E){r.fromTo("transform","translateX(".concat(v,")"),"translateX(".concat(i,")")).fromTo(o,.01,1)}m.fromTo("transform","translateX(".concat(v,")"),"translateX(".concat(i,")"));u.beforeClearStyles([o,"transform"]);var A=s===null||s===void 0?void 0:s.translucent;if(!A){u.fromTo(o,.01,"var(--opacity)")}else{u.fromTo("transform",l?"translateX(-100%)":"translateX(100%)","translateX(0px)")}if(!L){b.fromTo(o,.01,1)}if(h&&!L){var y=createAnimation();y.addElement(shadow(h).querySelector(".button-text")).fromTo("transform",l?"translateX(-100px)":"translateX(100px)","translateX(0px)");t.addAnimation(y)}}}));if(p){var _=createAnimation();var S=p.querySelector(":scope > ion-content");var O=p.querySelectorAll(":scope > ion-header > ion-toolbar");var F=p.querySelectorAll(":scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *");if(!S&&O.length===0&&F.length===0){_.addElement(p.querySelector(":scope > .ion-page, :scope > ion-nav, :scope > ion-tabs"))}else{_.addElement(S);_.addElement(F)}g.addAnimation(_);if(d){_.beforeClearStyles([o]).fromTo("transform","translateX(".concat(i,")"),l?"translateX(-100%)":"translateX(100%)");var j=getIonPageElement(p);g.afterAddWrite((function(){if(g.getDirection()==="normal"){j.style.setProperty("display","none")}}))}else{_.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(c,")")).fromTo(o,1,s)}if(S){var R=shadow(S).querySelector(".transition-effect");if(R){var N=R.querySelector(".transition-cover");var C=R.querySelector(".transition-shadow");var G=createAnimation();var Z=createAnimation();var D=createAnimation();G.addElement(R).beforeStyles({opacity:"1",display:"block"}).afterStyles({opacity:"",display:""});Z.addElement(N).beforeClearStyles([o]).fromTo(o,.1,0);D.addElement(C).beforeClearStyles([o]).fromTo(o,.7,.03);G.addAnimation([Z,D]);_.addAnimation([G])}}O.forEach((function(a){var t=createAnimation();t.addElement(a);var r=createAnimation();r.addElement(a.querySelector("ion-title"));var n=createAnimation();var s=a.querySelectorAll("ion-buttons,[menuToggle]");var v=a.closest("ion-header");var f=v===null||v===void 0?void 0:v.classList.contains("header-collapse-condense-inactive");var p=Array.from(s).filter((function(a){var t=a.classList.contains("buttons-collapse");return t&&!f||!t}));n.addElement(p);var m=createAnimation();var u=a.querySelectorAll(":scope > *:not(ion-title):not(ion-buttons):not([menuToggle])");if(u.length>0){m.addElement(u)}var b=createAnimation();b.addElement(shadow(a).querySelector(".toolbar-background"));var h=createAnimation();var A=a.querySelector("ion-back-button");if(A){h.addElement(A)}t.addAnimation([r,n,m,h,b]);g.addAnimation(t);h.fromTo(o,.99,0);n.fromTo(o,.99,0);m.fromTo(o,.99,0);if(d){if(!f){r.fromTo("transform","translateX(".concat(i,")"),l?"translateX(-100%)":"translateX(100%)").fromTo(o,.99,0)}m.fromTo("transform","translateX(".concat(i,")"),l?"translateX(-100%)":"translateX(100%)");b.beforeClearStyles([o,"transform"]);var y=v===null||v===void 0?void 0:v.translucent;if(!y){b.fromTo(o,"var(--opacity)",0)}else{b.fromTo("transform","translateX(0px)",l?"translateX(-100%)":"translateX(100%)")}if(A&&!I){var X=createAnimation();X.addElement(shadow(A).querySelector(".button-text")).fromTo("transform","translateX(".concat(i,")"),"translateX(".concat((l?-124:124)+"px",")"));t.addAnimation(X)}}else{if(!f){r.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(c,")")).fromTo(o,.99,0).afterClearStyles([e,o])}m.fromTo("transform","translateX(".concat(i,")"),"translateX(".concat(c,")")).afterClearStyles([e,o]);h.afterClearStyles([o]);r.afterClearStyles([o]);n.afterClearStyles([o])}}))}return g}catch(a){throw a}};var LARGE_TITLE_SIZE_OFFSET=10;export{iosTransitionAnimation,shadow};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{c as createAnimation}from"./animation-60dbdd13.js";import{g as getIonPageElement}from"./index-4b98143d.js";import"./index-a5d50daf.js";import"./helpers-c0b9ca37.js";import"./index-73881b51.js";var mdTransitionAnimation=function(a,i){var n,e,t;var r="40px";var o="0px";var m=i.direction==="back";var s=i.enteringEl;var c=i.leavingEl;var l=getIonPageElement(s);var v=l.querySelector("ion-toolbar");var d=createAnimation();d.addElement(l).fill("both").beforeRemoveClass("ion-page-invisible");if(m){d.duration(((n=i.duration)!==null&&n!==void 0?n:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)")}else{d.duration(((e=i.duration)!==null&&e!==void 0?e:0)||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform","translateY(".concat(r,")"),"translateY(".concat(o,")")).fromTo("opacity",.01,1)}if(v){var b=createAnimation();b.addElement(v);d.addAnimation(b)}if(c&&m){d.duration(((t=i.duration)!==null&&t!==void 0?t:0)||200).easing("cubic-bezier(0.47,0,0.745,0.715)");var p=createAnimation();p.addElement(getIonPageElement(c)).onFinish((function(a){if(a===1&&p.elements.length>0){p.elements[0].style.setProperty("display","none")}})).fromTo("transform","translateY(".concat(o,")"),"translateY(".concat(r,")")).fromTo("opacity",1,0);d.addAnimation(p)}return d};export{mdTransitionAnimation};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{l as clamp}from"./helpers-c0b9ca37.js";import{i as isRTL}from"./dir-babeabeb.js";import{createGesture}from"./index-39782642.js";import"./gesture-controller-314a54f6.js";var createSwipeBackGesture=function(r,a,e,t,n){var i=r.ownerDocument.defaultView;var o=isRTL(r);var v=function(r){var a=50;var e=r.startX;if(o){return e>=i.innerWidth-a}return e<=a};var c=function(r){return o?-r.deltaX:r.deltaX};var u=function(r){return o?-r.velocityX:r.velocityX};var s=function(e){o=isRTL(r);return v(e)&&a()};var f=function(r){var a=c(r);var e=a/i.innerWidth;t(e)};var p=function(r){var a=c(r);var e=i.innerWidth;var t=a/e;var o=u(r);var v=e/2;var s=o>=0&&(o>.2||a>v);var f=s?1-t:t;var p=f*e;var m=0;if(p>5){var l=p/Math.abs(o);m=Math.min(l,540)}n(s,t<=0?.01:clamp(0,t,.9999),m)};return createGesture({el:r,gestureName:"goback-swipe",gesturePriority:101,threshold:10,canStart:s,onStart:e,onMove:f,onEnd:p})};export{createSwipeBackGesture};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{l as t}from"./p-b5839dc2.js";import{i as o}from"./p-fb813dab.js";import{createGesture as r}from"./p-8ededb41.js";import"./p-9b97df10.js";const s=(s,e,n,a,c)=>{const p=s.ownerDocument.defaultView;let i=o(s);const m=t=>i?-t.deltaX:t.deltaX;return r({el:s,gestureName:"goback-swipe",gesturePriority:101,threshold:10,canStart:t=>(i=o(s),(t=>{const{startX:o}=t;return i?o>=p.innerWidth-50:o<=50})(t)&&e()),onStart:n,onMove:t=>{const o=m(t);a(o/p.innerWidth)},onEnd:o=>{const r=m(o),s=p.innerWidth,e=r/s,n=(t=>i?-t.velocityX:t.velocityX)(o),a=n>=0&&(n>.2||r>s/2),d=(a?1-e:e)*s;let b=0;if(d>5){const t=d/Math.abs(n);b=Math.min(t,540)}c(a,e<=0?.01:t(0,e,.9999),b)}})};export{s as createSwipeBackGesture}