@ionic/core 7.5.7-dev.11701270755.14f050ad → 7.5.7-dev.11701273756.1eb73d4c

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 (511) hide show
  1. package/components/animation.js +12 -11
  2. package/components/backdrop.js +12 -0
  3. package/components/checkbox.js +2 -0
  4. package/components/data.js +1 -1
  5. package/components/gesture-controller.js +1 -1
  6. package/components/index4.js +10 -12
  7. package/components/index5.js +0 -22
  8. package/components/input-shims.js +12 -7
  9. package/components/input.utils.js +3 -2
  10. package/components/ion-content.js +1 -1
  11. package/components/ion-datetime.js +61 -28
  12. package/components/ion-input.js +31 -8
  13. package/components/ion-modal.js +2 -2
  14. package/components/ion-picker-column-internal.d.ts +11 -0
  15. package/components/ion-picker-column-internal.js +9 -0
  16. package/components/ion-picker-column.js +2 -2
  17. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  18. package/components/ion-picker-internal.js +9 -0
  19. package/components/ion-picker.js +299 -1
  20. package/components/ion-range.js +2 -0
  21. package/components/ion-select.js +44 -29
  22. package/components/ion-skeleton-text.js +14 -1
  23. package/components/ion-textarea.js +30 -7
  24. package/components/ion-toast.js +419 -74
  25. package/components/ion-toggle.js +2 -0
  26. package/components/item.js +2 -2
  27. package/components/label.js +2 -2
  28. package/components/overlays.js +6 -12
  29. package/components/picker-column-internal.js +390 -0
  30. package/components/picker-column.js +320 -331
  31. package/components/{picker.js → picker-internal.js} +16 -16
  32. package/components/radio-group.js +2 -0
  33. package/components/radio.js +42 -2
  34. package/dist/cjs/{animation-1083855c.js → animation-d101aa7a.js} +13 -12
  35. package/dist/cjs/{button-active-cd07b55b.js → button-active-ba107e4e.js} +2 -2
  36. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-f68447d3.js} +1 -1
  37. package/dist/cjs/compare-with-utils-c0444525.js +44 -0
  38. package/dist/cjs/{data-4845b494.js → data-c8d21093.js} +1 -1
  39. package/dist/cjs/{gesture-controller-d6a3f907.js → gesture-controller-b46721be.js} +0 -1
  40. package/dist/cjs/{haptic-678abc9f.js → haptic-a74c2767.js} +1 -1
  41. package/dist/cjs/{index-0f8b33f8.js → index-0ee995e4.js} +1 -1
  42. package/dist/cjs/{index-d7561763.js → index-4f0c67e1.js} +11 -13
  43. package/dist/cjs/{index-573877f3.js → index-56d41f51.js} +2 -2
  44. package/dist/cjs/index-c8d52405.js +10 -0
  45. package/dist/cjs/{index-9f379eaa.js → index-e9634bc9.js} +1 -1
  46. package/dist/cjs/index.cjs.js +10 -10
  47. package/dist/cjs/{input-shims-b0a75a01.js → input-shims-3e3f35b9.js} +15 -10
  48. package/dist/cjs/{input.utils-0fe3097c.js → input.utils-bdb6953c.js} +4 -3
  49. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  50. package/dist/cjs/ion-alert.cjs.entry.js +8 -8
  51. package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
  52. package/dist/cjs/ion-backdrop.cjs.entry.js +12 -0
  53. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -0
  54. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  55. package/dist/cjs/ion-datetime_3.cjs.entry.js +43 -30
  56. package/dist/cjs/ion-input.cjs.entry.js +34 -11
  57. package/dist/cjs/ion-item-option_3.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-item_8.cjs.entry.js +17 -4
  59. package/dist/cjs/ion-loading.cjs.entry.js +3 -4
  60. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  61. package/dist/cjs/ion-modal.cjs.entry.js +10 -10
  62. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  63. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +12 -12
  64. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +13 -13
  65. package/dist/cjs/ion-popover.cjs.entry.js +4 -5
  66. package/dist/cjs/ion-radio_2.cjs.entry.js +6 -1
  67. package/dist/cjs/ion-range.cjs.entry.js +3 -1
  68. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  69. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  70. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  71. package/dist/cjs/ion-select_3.cjs.entry.js +51 -36
  72. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  73. package/dist/cjs/ion-textarea.cjs.entry.js +33 -10
  74. package/dist/cjs/ion-toast.cjs.entry.js +434 -93
  75. package/dist/cjs/ion-toggle.cjs.entry.js +6 -4
  76. package/dist/cjs/ionic.cjs.js +1 -1
  77. package/dist/cjs/{ios.transition-ac909bc8.js → ios.transition-f4caf640.js} +3 -3
  78. package/dist/cjs/{keyboard-fd7db491.js → keyboard-43df0428.js} +1 -1
  79. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-840107b3.js} +3 -3
  80. package/dist/cjs/{keyboard-controller-50beb83a.js → keyboard-controller-019f42df.js} +2 -2
  81. package/dist/cjs/loader.cjs.js +1 -1
  82. package/dist/cjs/{md.transition-907af519.js → md.transition-33331e93.js} +3 -3
  83. package/dist/cjs/{notch-controller-f4f6af5d.js → notch-controller-c22d1344.js} +1 -1
  84. package/dist/cjs/{overlays-dbb71984.js → overlays-4d8897dc.js} +7 -12
  85. package/dist/cjs/{swipe-back-a6dc6e5d.js → swipe-back-d0412fb6.js} +2 -2
  86. package/dist/collection/collection-manifest.json +6 -7
  87. package/dist/collection/components/backdrop/backdrop.js +12 -0
  88. package/dist/collection/components/checkbox/checkbox.js +2 -0
  89. package/dist/collection/components/content/content.css +4 -0
  90. package/dist/collection/components/datetime/datetime.ios.css +26 -84
  91. package/dist/collection/components/datetime/datetime.js +29 -14
  92. package/dist/collection/components/datetime/datetime.md.css +26 -89
  93. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +1 -1
  94. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +9 -6
  95. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +0 -10
  96. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  97. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +5 -5
  98. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +1 -1
  99. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +2 -2
  100. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  101. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +2 -2
  102. package/dist/collection/components/datetime/test/values/datetime.e2e.js +5 -5
  103. package/dist/collection/components/datetime/utils/data.js +1 -1
  104. package/dist/collection/components/input/input.ios.css +10 -3
  105. package/dist/collection/components/input/input.js +31 -6
  106. package/dist/collection/components/input/input.md.css +13 -12
  107. package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
  108. package/dist/collection/components/item/item.ios.css +25 -3
  109. package/dist/collection/components/item/item.md.css +25 -3
  110. package/dist/collection/components/item/test/basic/item.e2e.js +1 -1
  111. package/dist/collection/components/item/test/disabled/item.e2e.js +0 -1
  112. package/dist/collection/components/label/label.ios.css +14 -3
  113. package/dist/collection/components/label/label.md.css +14 -3
  114. package/dist/collection/components/modal/gestures/swipe-to-close.js +2 -1
  115. package/dist/collection/components/note/test/a11y/note.e2e.js +43 -0
  116. package/dist/collection/components/picker/picker.ios.css +205 -100
  117. package/dist/collection/components/picker/picker.js +735 -463
  118. package/dist/collection/components/picker/picker.md.css +194 -98
  119. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -106
  120. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  121. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  122. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  123. package/dist/collection/components/picker-column/picker-column.ios.css +176 -59
  124. package/dist/collection/components/picker-column/picker-column.js +333 -478
  125. package/dist/collection/components/picker-column/picker-column.md.css +113 -63
  126. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  127. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  128. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  129. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  130. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +138 -0
  131. package/dist/collection/components/picker-column-internal/picker-column-internal.js +565 -0
  132. package/dist/collection/components/{picker-legacy-column/picker-column.md.css → picker-column-internal/picker-column-internal.md.css} +63 -113
  133. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +7 -7
  134. package/dist/collection/components/{picker-column/test/disabled/picker-column.e2e.js → picker-column-internal/test/disabled/picker-column-internal.e2e.js} +39 -39
  135. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  136. package/dist/collection/components/picker-internal/picker-internal.js +544 -0
  137. package/dist/collection/components/{picker-legacy-column/picker-column.ios.css → picker-internal/picker-internal.md.css} +101 -98
  138. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  139. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  140. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +20 -20
  141. package/dist/collection/components/radio/radio.js +5 -2
  142. package/dist/collection/components/radio-group/radio-group.js +24 -0
  143. package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
  144. package/dist/collection/components/range/range.js +2 -0
  145. package/dist/collection/components/select/select.ios.css +61 -7
  146. package/dist/collection/components/select/select.js +45 -28
  147. package/dist/collection/components/select/select.md.css +64 -19
  148. package/dist/collection/components/select/test/label/select.e2e.js +1 -1
  149. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +1 -1
  150. package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
  151. package/dist/collection/components/skeleton-text/skeleton-text.js +39 -0
  152. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
  153. package/dist/collection/components/textarea/textarea.ios.css +37 -5
  154. package/dist/collection/components/textarea/textarea.js +30 -5
  155. package/dist/collection/components/textarea/textarea.md.css +47 -14
  156. package/dist/collection/components/toast/animations/ios.enter.js +2 -1
  157. package/dist/collection/components/toast/animations/md.enter.js +4 -3
  158. package/dist/collection/components/toast/animations/utils.js +20 -14
  159. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
  160. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
  161. package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
  162. package/dist/collection/components/toast/test/toast.spec.js +80 -0
  163. package/dist/collection/components/toast/toast.ios.css +10 -10
  164. package/dist/collection/components/toast/toast.js +104 -1
  165. package/dist/collection/components/toast/toast.md.css +10 -0
  166. package/dist/collection/components/toggle/toggle.js +2 -0
  167. package/dist/collection/utils/animation/animation.js +12 -11
  168. package/dist/collection/utils/animation/test/animation.spec.js +16 -0
  169. package/dist/collection/utils/browser/index.js +0 -22
  170. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  171. package/dist/collection/utils/forms/index.js +1 -0
  172. package/dist/collection/utils/gesture/gesture-controller.js +1 -1
  173. package/dist/collection/utils/input-shims/input-shims.js +12 -6
  174. package/dist/collection/utils/menu-controller/index.js +10 -12
  175. package/dist/collection/utils/overlays.js +5 -11
  176. package/dist/collection/utils/slot-mutation-controller.js +3 -2
  177. package/dist/docs.json +166 -385
  178. package/dist/esm/{animation-8aa13916.js → animation-cf3dd234.js} +13 -12
  179. package/dist/esm/{button-active-5b0516e7.js → button-active-47196c40.js} +2 -2
  180. package/dist/esm/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  181. package/dist/esm/compare-with-utils-4928c09d.js +41 -0
  182. package/dist/esm/{data-12e24f00.js → data-44d9e816.js} +1 -1
  183. package/dist/esm/{gesture-controller-3723db7c.js → gesture-controller-0fa396c4.js} +1 -1
  184. package/dist/esm/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  185. package/dist/esm/{index-0aa6e61f.js → index-23c05a55.js} +11 -13
  186. package/dist/esm/{index-6a0ccabb.js → index-702b3cd3.js} +2 -2
  187. package/dist/esm/index-a5d50daf.js +7 -0
  188. package/dist/esm/{index-f0cc4e14.js → index-c9e82353.js} +1 -1
  189. package/dist/esm/{index-32cbee52.js → index-ff313b19.js} +2 -2
  190. package/dist/esm/index.js +10 -10
  191. package/dist/esm/{input-shims-d0c93e5d.js → input-shims-1d767845.js} +14 -9
  192. package/dist/esm/{input.utils-ec063df4.js → input.utils-2cf5e372.js} +4 -3
  193. package/dist/esm/ion-action-sheet.entry.js +8 -8
  194. package/dist/esm/ion-alert.entry.js +8 -8
  195. package/dist/esm/ion-app_8.entry.js +10 -10
  196. package/dist/esm/ion-backdrop.entry.js +12 -0
  197. package/dist/esm/ion-checkbox.entry.js +2 -0
  198. package/dist/esm/ion-datetime-button.entry.js +1 -1
  199. package/dist/esm/ion-datetime_3.entry.js +42 -29
  200. package/dist/esm/ion-input.entry.js +34 -11
  201. package/dist/esm/ion-item-option_3.entry.js +1 -1
  202. package/dist/esm/ion-item_8.entry.js +17 -4
  203. package/dist/esm/ion-loading.entry.js +3 -4
  204. package/dist/esm/ion-menu_3.entry.js +7 -7
  205. package/dist/esm/ion-modal.entry.js +10 -10
  206. package/dist/esm/ion-nav_2.entry.js +2 -2
  207. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +12 -12
  208. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +13 -13
  209. package/dist/esm/ion-popover.entry.js +4 -5
  210. package/dist/esm/ion-radio_2.entry.js +6 -1
  211. package/dist/esm/ion-range.entry.js +3 -1
  212. package/dist/esm/ion-refresher_2.entry.js +7 -7
  213. package/dist/esm/ion-reorder_2.entry.js +4 -4
  214. package/dist/esm/ion-segment_2.entry.js +1 -1
  215. package/dist/esm/ion-select_3.entry.js +47 -32
  216. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  217. package/dist/esm/ion-textarea.entry.js +33 -10
  218. package/dist/esm/ion-toast.entry.js +417 -76
  219. package/dist/esm/ion-toggle.entry.js +6 -4
  220. package/dist/esm/ionic.js +1 -1
  221. package/dist/esm/{ios.transition-1651c430.js → ios.transition-c3e77862.js} +3 -3
  222. package/dist/esm/{keyboard-b551279d.js → keyboard-9f771a04.js} +3 -3
  223. package/dist/esm/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  224. package/dist/esm/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +2 -2
  225. package/dist/esm/loader.js +1 -1
  226. package/dist/esm/{md.transition-66f18369.js → md.transition-1173eca9.js} +3 -3
  227. package/dist/esm/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  228. package/dist/esm/{overlays-789cd7a7.js → overlays-34169295.js} +7 -13
  229. package/dist/esm/{swipe-back-cc4c2bcb.js → swipe-back-0f3bfc8e.js} +2 -2
  230. package/dist/esm-es5/{animation-8aa13916.js → animation-cf3dd234.js} +1 -1
  231. package/dist/esm-es5/{button-active-5b0516e7.js → button-active-47196c40.js} +1 -1
  232. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-f1f25364.js} +1 -1
  233. package/dist/esm-es5/compare-with-utils-4928c09d.js +4 -0
  234. package/dist/esm-es5/{gesture-controller-3723db7c.js → gesture-controller-0fa396c4.js} +1 -1
  235. package/dist/esm-es5/{haptic-1243b917.js → haptic-1a66d69f.js} +1 -1
  236. package/dist/esm-es5/index-23c05a55.js +4 -0
  237. package/dist/esm-es5/{index-6a0ccabb.js → index-702b3cd3.js} +1 -1
  238. package/dist/esm-es5/index-c9e82353.js +4 -0
  239. package/dist/esm-es5/{index-32cbee52.js → index-ff313b19.js} +1 -1
  240. package/dist/esm-es5/index.js +1 -1
  241. package/dist/esm-es5/input-shims-1d767845.js +4 -0
  242. package/dist/esm-es5/input.utils-2cf5e372.js +4 -0
  243. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  244. package/dist/esm-es5/ion-alert.entry.js +1 -1
  245. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  246. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  247. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  248. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  249. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  250. package/dist/esm-es5/ion-input.entry.js +1 -1
  251. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  252. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  253. package/dist/esm-es5/ion-loading.entry.js +1 -1
  254. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  255. package/dist/esm-es5/ion-modal.entry.js +1 -1
  256. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  257. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  258. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  259. package/dist/esm-es5/ion-popover.entry.js +1 -1
  260. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  261. package/dist/esm-es5/ion-range.entry.js +1 -1
  262. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  263. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  264. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  265. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  266. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  267. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  268. package/dist/esm-es5/ion-toast.entry.js +1 -1
  269. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  270. package/dist/esm-es5/ionic.js +1 -1
  271. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-c3e77862.js} +1 -1
  272. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-9f771a04.js} +1 -1
  273. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-b6230bfb.js} +1 -1
  274. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-3f0faa10.js} +1 -1
  275. package/dist/esm-es5/loader.js +1 -1
  276. package/dist/esm-es5/md.transition-1173eca9.js +4 -0
  277. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-3f79197e.js} +1 -1
  278. package/dist/esm-es5/overlays-34169295.js +4 -0
  279. package/dist/esm-es5/swipe-back-0f3bfc8e.js +4 -0
  280. package/dist/html.html-data.json +15 -120
  281. package/dist/ionic/index.esm.js +1 -1
  282. package/dist/ionic/ionic.esm.js +1 -1
  283. package/dist/ionic/{p-02d8fdba.system.entry.js → p-03ed6107.system.entry.js} +1 -1
  284. package/dist/ionic/p-0547e914.entry.js +4 -0
  285. package/dist/ionic/{p-81c818e7.js → p-11cb4e19.js} +1 -1
  286. package/dist/ionic/p-131761b4.entry.js +4 -0
  287. package/dist/ionic/p-196f2123.system.entry.js +4 -0
  288. package/dist/ionic/{p-64ed03a3.entry.js → p-1abc74d9.entry.js} +1 -1
  289. package/dist/ionic/p-1cf5e8d6.entry.js +4 -0
  290. package/dist/ionic/{p-c4042875.system.js → p-21b4981c.system.js} +1 -1
  291. package/dist/ionic/p-2207f3c2.js +4 -0
  292. package/dist/ionic/p-27eb8a91.system.entry.js +4 -0
  293. package/dist/ionic/p-2a41d4d1.js +4 -0
  294. package/dist/ionic/p-31189dae.entry.js +4 -0
  295. package/dist/ionic/p-314c4dee.js +4 -0
  296. package/dist/ionic/{p-4f3e2767.system.entry.js → p-37c69d34.system.entry.js} +1 -1
  297. package/dist/ionic/p-385c51f8.system.entry.js +4 -0
  298. package/dist/ionic/{p-477a182e.entry.js → p-3abf5b7a.entry.js} +1 -1
  299. package/dist/ionic/p-3bc3d880.system.js +4 -0
  300. package/dist/ionic/{p-56224549.entry.js → p-3de79805.entry.js} +1 -1
  301. package/dist/ionic/{p-9e6bf9ed.entry.js → p-3e655d4c.entry.js} +1 -1
  302. package/dist/ionic/p-40903d34.system.js +1 -1
  303. package/dist/ionic/p-43716898.js +4 -0
  304. package/dist/ionic/p-450a26bf.js +4 -0
  305. package/dist/ionic/p-485668f0.entry.js +4 -0
  306. package/dist/ionic/p-48c59094.system.entry.js +4 -0
  307. package/dist/ionic/p-494e75ad.js +4 -0
  308. package/dist/ionic/{p-cb62e3fc.system.entry.js → p-4c80afe1.system.entry.js} +1 -1
  309. package/dist/ionic/{p-0e23256e.system.entry.js → p-54824705.system.entry.js} +1 -1
  310. package/dist/ionic/p-561cc050.system.js +4 -0
  311. package/dist/ionic/{p-4a142496.system.entry.js → p-587afb80.system.entry.js} +1 -1
  312. package/dist/ionic/{p-8cf94fc1.js → p-5885e9af.js} +1 -1
  313. package/dist/ionic/p-5bd4e009.entry.js +4 -0
  314. package/dist/ionic/{p-b3e79338.system.entry.js → p-5e6bc319.system.entry.js} +1 -1
  315. package/dist/ionic/{p-939d903b.entry.js → p-64ab3eb3.entry.js} +1 -1
  316. package/dist/ionic/p-671dbd61.js +4 -0
  317. package/dist/ionic/{p-702d85d8.system.js → p-67951604.system.js} +1 -1
  318. package/dist/ionic/{p-835e0346.entry.js → p-6797887a.entry.js} +1 -1
  319. package/dist/ionic/{p-b923f3d7.js → p-6a309574.js} +1 -1
  320. package/dist/ionic/{p-a4cda7a8.system.entry.js → p-6e23777e.system.entry.js} +1 -1
  321. package/dist/ionic/{p-06e6d235.system.entry.js → p-7047a40c.system.entry.js} +2 -2
  322. package/dist/ionic/p-70dcf429.js +4 -0
  323. package/dist/ionic/p-710cea83.system.js +4 -0
  324. package/dist/ionic/p-7b44e419.js +4 -0
  325. package/dist/ionic/p-80a9b397.entry.js +4 -0
  326. package/dist/ionic/{p-9b5301cc.system.entry.js → p-823890d5.system.entry.js} +1 -1
  327. package/dist/ionic/{p-a57f223c.system.js → p-83a455fd.system.js} +1 -1
  328. package/dist/ionic/{p-baa7cb1e.entry.js → p-8ad82eb3.entry.js} +1 -1
  329. package/dist/ionic/{p-c1229981.entry.js → p-8b15ca22.entry.js} +1 -1
  330. package/dist/ionic/{p-a7e2ac5c.js → p-8b1be026.js} +1 -1
  331. package/dist/ionic/p-8dbdb163.system.js +4 -0
  332. package/dist/ionic/p-8ddfecbf.entry.js +4 -0
  333. package/dist/ionic/{p-b4b4bb29.system.js → p-9292fd42.system.js} +1 -1
  334. package/dist/ionic/{p-41477ad9.system.js → p-958f1c70.system.js} +1 -1
  335. package/dist/ionic/{p-5ce11143.entry.js → p-965677f1.entry.js} +1 -1
  336. package/dist/ionic/p-9c6787e2.entry.js +4 -0
  337. package/dist/ionic/{p-6500b298.system.js → p-9e852ff1.system.js} +1 -1
  338. package/dist/ionic/p-a11c1aff.system.entry.js +4 -0
  339. package/dist/ionic/{p-419eb426.js → p-a135e3ba.js} +1 -1
  340. package/dist/ionic/p-a31099a4.entry.js +4 -0
  341. package/dist/ionic/p-a6bc00ab.entry.js +4 -0
  342. package/dist/ionic/p-a9c3699b.system.entry.js +4 -0
  343. package/dist/ionic/p-ac668fb8.entry.js +4 -0
  344. package/dist/ionic/p-ad4b4f73.system.entry.js +4 -0
  345. package/dist/ionic/{p-ab4cff27.system.js → p-aec8a70a.system.js} +1 -1
  346. package/dist/ionic/p-b673ee9b.entry.js +4 -0
  347. package/dist/ionic/p-be0f6600.system.js +4 -0
  348. package/dist/ionic/p-beb64be7.system.entry.js +4 -0
  349. package/dist/ionic/{p-dd837fa8.entry.js → p-c1e725db.entry.js} +1 -1
  350. package/dist/ionic/p-c2db1374.system.js +4 -0
  351. package/dist/ionic/p-c3547c7a.system.js +4 -0
  352. package/dist/ionic/{p-c7fd81ba.system.js → p-c4de53af.system.js} +1 -1
  353. package/dist/ionic/p-c700acef.system.js +4 -0
  354. package/dist/ionic/p-c919498d.entry.js +4 -0
  355. package/dist/ionic/{p-3f88eab8.system.entry.js → p-cc615985.system.entry.js} +1 -1
  356. package/dist/ionic/p-d48872b1.system.js +4 -0
  357. package/dist/ionic/p-d4fba36b.system.entry.js +4 -0
  358. package/dist/ionic/{p-22813b28.system.entry.js → p-d61a2cee.system.entry.js} +1 -1
  359. package/dist/ionic/{p-c31fc05f.system.entry.js → p-db5043df.system.entry.js} +1 -1
  360. package/dist/ionic/{p-100ef961.js → p-e0b06b65.js} +1 -1
  361. package/dist/ionic/p-e5b8f2f7.js +4 -0
  362. package/dist/ionic/{p-3bad5c1a.js → p-e5fd9f10.js} +1 -1
  363. package/dist/ionic/{p-302091ab.js → p-e627ed84.js} +1 -1
  364. package/dist/ionic/{p-ccdcb022.system.js → p-e7d20dfb.system.js} +1 -1
  365. package/dist/ionic/{p-14b4348c.system.js → p-e9e5755c.system.js} +1 -1
  366. package/dist/ionic/p-ea9addc8.system.entry.js +4 -0
  367. package/dist/ionic/p-edd07654.system.entry.js +4 -0
  368. package/dist/ionic/p-f36112b4.entry.js +4 -0
  369. package/dist/ionic/p-f43f4102.entry.js +4 -0
  370. package/dist/ionic/p-f5d78105.entry.js +4 -0
  371. package/dist/ionic/p-f7769c83.js +4 -0
  372. package/dist/ionic/{p-bba2ce59.system.js → p-f9a641fa.system.js} +1 -1
  373. package/dist/ionic/{p-2e1794df.system.js → p-fa8d4788.system.js} +1 -1
  374. package/dist/ionic/p-fcb148dc.system.entry.js +4 -0
  375. package/dist/ionic/p-fcc23f25.system.entry.js +4 -0
  376. package/dist/ionic/{p-878c7aa5.system.entry.js → p-fce6b76a.system.entry.js} +1 -1
  377. package/dist/ionic/p-fdcf04c3.system.entry.js +4 -0
  378. package/dist/ionic/{p-a0b6d438.js → p-fe1f93f2.js} +1 -1
  379. package/dist/types/components/backdrop/backdrop.d.ts +3 -0
  380. package/dist/types/components/datetime/datetime.d.ts +1 -0
  381. package/dist/types/components/datetime/utils/data.d.ts +2 -2
  382. package/dist/types/components/input/input.d.ts +2 -0
  383. package/dist/types/components/menu/menu.d.ts +1 -1
  384. package/dist/types/components/picker/picker.d.ts +131 -74
  385. package/dist/types/components/picker-column/picker-column.d.ts +39 -94
  386. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  387. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  388. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  389. package/dist/types/components/radio-group/radio-group-interface.d.ts +1 -0
  390. package/dist/types/components/radio-group/radio-group.d.ts +8 -1
  391. package/dist/types/components/router/router.d.ts +2 -1
  392. package/dist/types/components/select/select.d.ts +6 -1
  393. package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -1
  394. package/dist/types/components/textarea/textarea.d.ts +2 -0
  395. package/dist/types/components/toast/animations/utils.d.ts +15 -4
  396. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
  397. package/dist/types/components/toast/toast-interface.d.ts +2 -0
  398. package/dist/types/components/toast/toast.d.ts +28 -1
  399. package/dist/types/components.d.ts +159 -157
  400. package/dist/types/interface.d.ts +2 -6
  401. package/dist/types/utils/animation/animation-interface.d.ts +4 -4
  402. package/dist/types/utils/browser/index.d.ts +11 -2
  403. package/dist/types/utils/config.d.ts +2 -2
  404. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  405. package/dist/types/utils/forms/index.d.ts +1 -0
  406. package/dist/types/utils/gesture/gesture-controller.d.ts +0 -1
  407. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  408. package/dist/types/utils/overlays.d.ts +3 -5
  409. package/dist/types/utils/slot-mutation-controller.d.ts +2 -2
  410. package/hydrate/index.js +2003 -1567
  411. package/package.json +1 -1
  412. package/components/ion-picker-column-option.d.ts +0 -11
  413. package/components/ion-picker-column-option.js +0 -52
  414. package/components/ion-picker-legacy-column.d.ts +0 -11
  415. package/components/ion-picker-legacy-column.js +0 -9
  416. package/components/ion-picker-legacy.js +0 -309
  417. package/components/picker-column2.js +0 -379
  418. package/dist/cjs/index-306a7476.js +0 -32
  419. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -35
  420. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  421. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -68
  422. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  423. package/dist/collection/components/picker-legacy/picker.ios.css +0 -367
  424. package/dist/collection/components/picker-legacy/picker.js +0 -817
  425. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  426. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  427. package/dist/collection/utils/test/overlays/overlays-scroll-blocking.spec.js +0 -65
  428. package/dist/esm/index-7a14ecec.js +0 -29
  429. package/dist/esm/ion-picker-column-option.entry.js +0 -31
  430. package/dist/esm-es5/index-0aa6e61f.js +0 -4
  431. package/dist/esm-es5/index-f0cc4e14.js +0 -4
  432. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  433. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  434. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  435. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  436. package/dist/esm-es5/ion-picker.entry.js +0 -4
  437. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  438. package/dist/esm-es5/overlays-789cd7a7.js +0 -4
  439. package/dist/esm-es5/swipe-back-cc4c2bcb.js +0 -4
  440. package/dist/ionic/p-0c244faf.entry.js +0 -4
  441. package/dist/ionic/p-20cf4994.js +0 -4
  442. package/dist/ionic/p-234b9617.system.entry.js +0 -4
  443. package/dist/ionic/p-25c34422.system.entry.js +0 -4
  444. package/dist/ionic/p-276afddd.js +0 -4
  445. package/dist/ionic/p-2804781b.entry.js +0 -4
  446. package/dist/ionic/p-2ad38423.system.entry.js +0 -4
  447. package/dist/ionic/p-2ba9414e.entry.js +0 -4
  448. package/dist/ionic/p-2e8e0045.js +0 -4
  449. package/dist/ionic/p-332f64af.system.entry.js +0 -4
  450. package/dist/ionic/p-352c0232.system.entry.js +0 -4
  451. package/dist/ionic/p-3602001b.system.js +0 -4
  452. package/dist/ionic/p-3632220b.system.js +0 -4
  453. package/dist/ionic/p-39074595.entry.js +0 -4
  454. package/dist/ionic/p-439e20ef.entry.js +0 -4
  455. package/dist/ionic/p-4cd588b3.system.entry.js +0 -4
  456. package/dist/ionic/p-67aab78f.js +0 -4
  457. package/dist/ionic/p-67eecef4.system.js +0 -4
  458. package/dist/ionic/p-6893f6e4.entry.js +0 -4
  459. package/dist/ionic/p-77e7a9c8.entry.js +0 -4
  460. package/dist/ionic/p-7c66a566.system.entry.js +0 -4
  461. package/dist/ionic/p-8b4ab236.entry.js +0 -4
  462. package/dist/ionic/p-9403b297.system.entry.js +0 -4
  463. package/dist/ionic/p-966cf574.system.entry.js +0 -4
  464. package/dist/ionic/p-97c65aa5.js +0 -4
  465. package/dist/ionic/p-992d3bad.entry.js +0 -4
  466. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  467. package/dist/ionic/p-9b89cbde.js +0 -4
  468. package/dist/ionic/p-9c967a65.system.entry.js +0 -4
  469. package/dist/ionic/p-a21b8d05.entry.js +0 -4
  470. package/dist/ionic/p-b0cee324.entry.js +0 -4
  471. package/dist/ionic/p-b1142133.entry.js +0 -4
  472. package/dist/ionic/p-b4cbb736.js +0 -4
  473. package/dist/ionic/p-b6a8588f.entry.js +0 -4
  474. package/dist/ionic/p-b6f8ee31.entry.js +0 -4
  475. package/dist/ionic/p-ba70d455.entry.js +0 -4
  476. package/dist/ionic/p-bd7a3269.entry.js +0 -4
  477. package/dist/ionic/p-c32bf078.system.entry.js +0 -4
  478. package/dist/ionic/p-cc196b34.js +0 -4
  479. package/dist/ionic/p-d1de1188.js +0 -4
  480. package/dist/ionic/p-d21bfe66.system.entry.js +0 -4
  481. package/dist/ionic/p-d3952bd5.system.entry.js +0 -4
  482. package/dist/ionic/p-dc565ca3.js +0 -4
  483. package/dist/ionic/p-dfa756ed.system.js +0 -4
  484. package/dist/ionic/p-e88ed07f.system.js +0 -4
  485. package/dist/ionic/p-eb07ec1a.system.entry.js +0 -4
  486. package/dist/ionic/p-eb5697b5.system.js +0 -4
  487. package/dist/ionic/p-ee800093.entry.js +0 -4
  488. package/dist/ionic/p-f0559c5d.system.entry.js +0 -4
  489. package/dist/ionic/p-fdd22426.entry.js +0 -4
  490. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  491. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  492. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -16
  493. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  494. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  495. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  496. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  497. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  498. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  499. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  500. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  501. /package/dist/esm-es5/{data-12e24f00.js → data-44d9e816.js} +0 -0
  502. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  503. /package/dist/ionic/{p-bb849ebb.js → p-17240d90.js} +0 -0
  504. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  505. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  506. /package/dist/ionic/{p-e4219e27.system.js → p-b8c3f071.system.js} +0 -0
  507. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  508. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  509. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  510. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
  511. /package/dist/types/components/{picker-column/picker-column-interfaces.d.ts → picker-column-internal/picker-column-internal-interfaces.d.ts} +0 -0
@@ -1,25 +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('picker: basic'), () => {
8
- test('should not have visual regressions', async ({ page }) => {
9
- await page.goto('/src/components/picker-legacy/test/basic', config);
10
- const didPresent = await page.spyOnEvent('ionPickerDidPresent');
11
- const didDismiss = await page.spyOnEvent('ionPickerDidDismiss');
12
- await page.click('#basic');
13
- await didPresent.next();
14
- await page.waitForChanges();
15
- await expect(page).toHaveScreenshot(screenshot(`picker-basic`));
16
- await page.click('.picker-opt:nth-child(2)');
17
- await page.click('ion-picker-legacy .save-btn');
18
- await didDismiss.next();
19
- await page.click('#basic');
20
- await didPresent.next();
21
- await page.waitForChanges();
22
- await expect(page).toHaveScreenshot(screenshot(`picker-value-selected`));
23
- });
24
- });
25
- });
@@ -1,419 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { Host, h } from "@stencil/core";
5
- import { clamp } from "../../utils/helpers";
6
- import { hapticSelectionChanged, hapticSelectionEnd, hapticSelectionStart } from "../../utils/native/haptic";
7
- import { getClassMap } from "../../utils/theme";
8
- import { getIonMode } from "../../global/ionic-global";
9
- /**
10
- * @internal
11
- */
12
- export class PickerColumnCmp {
13
- constructor() {
14
- this.optHeight = 0;
15
- this.rotateFactor = 0;
16
- this.scaleFactor = 1;
17
- this.velocity = 0;
18
- this.y = 0;
19
- this.noAnimate = true;
20
- // `colDidChange` is a flag that gets set when the column is changed
21
- // dynamically. When this flag is set, the column will refresh
22
- // after the component re-renders to incorporate the new column data.
23
- // This is necessary because `this.refresh` queries for the option elements,
24
- // so it needs to wait for the latest elements to be available in the DOM.
25
- // Ex: column is created with 3 options. User updates the column data
26
- // to have 5 options. The column will still think it only has 3 options.
27
- this.colDidChange = false;
28
- this.col = undefined;
29
- }
30
- colChanged() {
31
- this.colDidChange = true;
32
- }
33
- async connectedCallback() {
34
- let pickerRotateFactor = 0;
35
- let pickerScaleFactor = 0.81;
36
- const mode = getIonMode(this);
37
- if (mode === 'ios') {
38
- pickerRotateFactor = -0.46;
39
- pickerScaleFactor = 1;
40
- }
41
- this.rotateFactor = pickerRotateFactor;
42
- this.scaleFactor = pickerScaleFactor;
43
- this.gesture = (await import('../../utils/gesture')).createGesture({
44
- el: this.el,
45
- gestureName: 'picker-swipe',
46
- gesturePriority: 100,
47
- threshold: 0,
48
- passive: false,
49
- onStart: (ev) => this.onStart(ev),
50
- onMove: (ev) => this.onMove(ev),
51
- onEnd: (ev) => this.onEnd(ev),
52
- });
53
- this.gesture.enable();
54
- // Options have not been initialized yet
55
- // Animation must be disabled through the `noAnimate` flag
56
- // Otherwise, the options will render
57
- // at the top of the column and transition down
58
- this.tmrId = setTimeout(() => {
59
- this.noAnimate = false;
60
- // After initialization, `refresh()` will be called
61
- // At this point, animation will be enabled. The options will
62
- // animate as they are being selected.
63
- this.refresh(true);
64
- }, 250);
65
- }
66
- componentDidLoad() {
67
- this.onDomChange();
68
- }
69
- componentDidUpdate() {
70
- // Options may have changed since last update.
71
- if (this.colDidChange) {
72
- // Animation must be disabled through the `onDomChange` parameter.
73
- // Otherwise, the recently added options will render
74
- // at the top of the column and transition down
75
- this.onDomChange(true, false);
76
- this.colDidChange = false;
77
- }
78
- }
79
- disconnectedCallback() {
80
- if (this.rafId !== undefined)
81
- cancelAnimationFrame(this.rafId);
82
- if (this.tmrId)
83
- clearTimeout(this.tmrId);
84
- if (this.gesture) {
85
- this.gesture.destroy();
86
- this.gesture = undefined;
87
- }
88
- }
89
- emitColChange() {
90
- this.ionPickerColChange.emit(this.col);
91
- }
92
- setSelected(selectedIndex, duration) {
93
- // if there is a selected index, then figure out it's y position
94
- // if there isn't a selected index, then just use the top y position
95
- const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
96
- this.velocity = 0;
97
- // set what y position we're at
98
- if (this.rafId !== undefined)
99
- cancelAnimationFrame(this.rafId);
100
- this.update(y, duration, true);
101
- this.emitColChange();
102
- }
103
- update(y, duration, saveY) {
104
- if (!this.optsEl) {
105
- return;
106
- }
107
- // ensure we've got a good round number :)
108
- let translateY = 0;
109
- let translateZ = 0;
110
- const { col, rotateFactor } = this;
111
- const prevSelected = col.selectedIndex;
112
- const selectedIndex = (col.selectedIndex = this.indexForY(-y));
113
- const durationStr = duration === 0 ? '' : duration + 'ms';
114
- const scaleStr = `scale(${this.scaleFactor})`;
115
- const children = this.optsEl.children;
116
- for (let i = 0; i < children.length; i++) {
117
- const button = children[i];
118
- const opt = col.options[i];
119
- const optOffset = i * this.optHeight + y;
120
- let transform = '';
121
- if (rotateFactor !== 0) {
122
- const rotateX = optOffset * rotateFactor;
123
- if (Math.abs(rotateX) <= 90) {
124
- translateY = 0;
125
- translateZ = 90;
126
- transform = `rotateX(${rotateX}deg) `;
127
- }
128
- else {
129
- translateY = -9999;
130
- }
131
- }
132
- else {
133
- translateZ = 0;
134
- translateY = optOffset;
135
- }
136
- const selected = selectedIndex === i;
137
- transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
138
- if (this.scaleFactor !== 1 && !selected) {
139
- transform += scaleStr;
140
- }
141
- // Update transition duration
142
- if (this.noAnimate) {
143
- opt.duration = 0;
144
- button.style.transitionDuration = '';
145
- }
146
- else if (duration !== opt.duration) {
147
- opt.duration = duration;
148
- button.style.transitionDuration = durationStr;
149
- }
150
- // Update transform
151
- if (transform !== opt.transform) {
152
- opt.transform = transform;
153
- }
154
- button.style.transform = transform;
155
- /**
156
- * Ensure that the select column
157
- * item has the selected class
158
- */
159
- opt.selected = selected;
160
- if (selected) {
161
- button.classList.add(PICKER_OPT_SELECTED);
162
- }
163
- else {
164
- button.classList.remove(PICKER_OPT_SELECTED);
165
- }
166
- }
167
- this.col.prevSelected = prevSelected;
168
- if (saveY) {
169
- this.y = y;
170
- }
171
- if (this.lastIndex !== selectedIndex) {
172
- // have not set a last index yet
173
- hapticSelectionChanged();
174
- this.lastIndex = selectedIndex;
175
- }
176
- }
177
- decelerate() {
178
- if (this.velocity !== 0) {
179
- // still decelerating
180
- this.velocity *= DECELERATION_FRICTION;
181
- // do not let it go slower than a velocity of 1
182
- this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
183
- let y = this.y + this.velocity;
184
- if (y > this.minY) {
185
- // whoops, it's trying to scroll up farther than the options we have!
186
- y = this.minY;
187
- this.velocity = 0;
188
- }
189
- else if (y < this.maxY) {
190
- // gahh, it's trying to scroll down farther than we can!
191
- y = this.maxY;
192
- this.velocity = 0;
193
- }
194
- this.update(y, 0, true);
195
- const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
196
- if (notLockedIn) {
197
- // isn't locked in yet, keep decelerating until it is
198
- this.rafId = requestAnimationFrame(() => this.decelerate());
199
- }
200
- else {
201
- this.velocity = 0;
202
- this.emitColChange();
203
- hapticSelectionEnd();
204
- }
205
- }
206
- else if (this.y % this.optHeight !== 0) {
207
- // needs to still get locked into a position so options line up
208
- const currentPos = Math.abs(this.y % this.optHeight);
209
- // create a velocity in the direction it needs to scroll
210
- this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
211
- this.decelerate();
212
- }
213
- }
214
- indexForY(y) {
215
- return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
216
- }
217
- onStart(detail) {
218
- // We have to prevent default in order to block scrolling under the picker
219
- // but we DO NOT have to stop propagation, since we still want
220
- // some "click" events to capture
221
- if (detail.event.cancelable) {
222
- detail.event.preventDefault();
223
- }
224
- detail.event.stopPropagation();
225
- hapticSelectionStart();
226
- // reset everything
227
- if (this.rafId !== undefined)
228
- cancelAnimationFrame(this.rafId);
229
- const options = this.col.options;
230
- let minY = options.length - 1;
231
- let maxY = 0;
232
- for (let i = 0; i < options.length; i++) {
233
- if (!options[i].disabled) {
234
- minY = Math.min(minY, i);
235
- maxY = Math.max(maxY, i);
236
- }
237
- }
238
- this.minY = -(minY * this.optHeight);
239
- this.maxY = -(maxY * this.optHeight);
240
- }
241
- onMove(detail) {
242
- if (detail.event.cancelable) {
243
- detail.event.preventDefault();
244
- }
245
- detail.event.stopPropagation();
246
- // update the scroll position relative to pointer start position
247
- let y = this.y + detail.deltaY;
248
- if (y > this.minY) {
249
- // scrolling up higher than scroll area
250
- y = Math.pow(y, 0.8);
251
- this.bounceFrom = y;
252
- }
253
- else if (y < this.maxY) {
254
- // scrolling down below scroll area
255
- y += Math.pow(this.maxY - y, 0.9);
256
- this.bounceFrom = y;
257
- }
258
- else {
259
- this.bounceFrom = 0;
260
- }
261
- this.update(y, 0, false);
262
- }
263
- onEnd(detail) {
264
- if (this.bounceFrom > 0) {
265
- // bounce back up
266
- this.update(this.minY, 100, true);
267
- this.emitColChange();
268
- return;
269
- }
270
- else if (this.bounceFrom < 0) {
271
- // bounce back down
272
- this.update(this.maxY, 100, true);
273
- this.emitColChange();
274
- return;
275
- }
276
- this.velocity = clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
277
- if (this.velocity === 0 && detail.deltaY === 0) {
278
- const opt = detail.event.target.closest('.picker-opt');
279
- if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
280
- this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
281
- }
282
- }
283
- else {
284
- this.y += detail.deltaY;
285
- if (Math.abs(detail.velocityY) < 0.05) {
286
- const isScrollingUp = detail.deltaY > 0;
287
- const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
288
- if (isScrollingUp && optHeightFraction > 0.5) {
289
- this.velocity = Math.abs(this.velocity) * -1;
290
- }
291
- else if (!isScrollingUp && optHeightFraction <= 0.5) {
292
- this.velocity = Math.abs(this.velocity);
293
- }
294
- }
295
- this.decelerate();
296
- }
297
- }
298
- refresh(forceRefresh, animated) {
299
- var _a;
300
- let min = this.col.options.length - 1;
301
- let max = 0;
302
- const options = this.col.options;
303
- for (let i = 0; i < options.length; i++) {
304
- if (!options[i].disabled) {
305
- min = Math.min(min, i);
306
- max = Math.max(max, i);
307
- }
308
- }
309
- /**
310
- * Only update selected value if column has a
311
- * velocity of 0. If it does not, then the
312
- * column is animating might land on
313
- * a value different than the value at
314
- * selectedIndex
315
- */
316
- if (this.velocity !== 0) {
317
- return;
318
- }
319
- const selectedIndex = clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
320
- if (this.col.prevSelected !== selectedIndex || forceRefresh) {
321
- const y = selectedIndex * this.optHeight * -1;
322
- const duration = animated ? TRANSITION_DURATION : 0;
323
- this.velocity = 0;
324
- this.update(y, duration, true);
325
- }
326
- }
327
- onDomChange(forceRefresh, animated) {
328
- const colEl = this.optsEl;
329
- if (colEl) {
330
- // DOM READ
331
- // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed
332
- this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
333
- }
334
- this.refresh(forceRefresh, animated);
335
- }
336
- render() {
337
- const col = this.col;
338
- const mode = getIonMode(this);
339
- return (h(Host, { class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
340
- 'max-width': this.col.columnWidth,
341
- } }, col.prefix && (h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
342
- }
343
- static get is() { return "ion-picker-legacy-column"; }
344
- static get originalStyleUrls() {
345
- return {
346
- "ios": ["picker-column.ios.scss"],
347
- "md": ["picker-column.md.scss"]
348
- };
349
- }
350
- static get styleUrls() {
351
- return {
352
- "ios": ["picker-column.ios.css"],
353
- "md": ["picker-column.md.css"]
354
- };
355
- }
356
- static get properties() {
357
- return {
358
- "col": {
359
- "type": "unknown",
360
- "mutable": false,
361
- "complexType": {
362
- "original": "PickerColumn",
363
- "resolved": "PickerColumn",
364
- "references": {
365
- "PickerColumn": {
366
- "location": "import",
367
- "path": "../picker-legacy/picker-interface",
368
- "id": "src/components/picker-legacy/picker-interface.ts::PickerColumn"
369
- }
370
- }
371
- },
372
- "required": true,
373
- "optional": false,
374
- "docs": {
375
- "tags": [],
376
- "text": "Picker column data"
377
- }
378
- }
379
- };
380
- }
381
- static get events() {
382
- return [{
383
- "method": "ionPickerColChange",
384
- "name": "ionPickerColChange",
385
- "bubbles": true,
386
- "cancelable": true,
387
- "composed": true,
388
- "docs": {
389
- "tags": [{
390
- "name": "internal",
391
- "text": undefined
392
- }],
393
- "text": "Emitted when the selected value has changed"
394
- },
395
- "complexType": {
396
- "original": "PickerColumn",
397
- "resolved": "PickerColumn",
398
- "references": {
399
- "PickerColumn": {
400
- "location": "import",
401
- "path": "../picker-legacy/picker-interface",
402
- "id": "src/components/picker-legacy/picker-interface.ts::PickerColumn"
403
- }
404
- }
405
- }
406
- }];
407
- }
408
- static get elementRef() { return "el"; }
409
- static get watchers() {
410
- return [{
411
- "propName": "col",
412
- "methodName": "colChanged"
413
- }];
414
- }
415
- }
416
- const PICKER_OPT_SELECTED = 'picker-opt-selected';
417
- const DECELERATION_FRICTION = 0.97;
418
- const MAX_PICKER_SPEED = 90;
419
- const TRANSITION_DURATION = 150;
@@ -1,65 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { newSpecPage } from "@stencil/core/testing";
5
- import { Modal } from "../../../components/modal/modal";
6
- describe('overlays: scroll blocking', () => {
7
- it('should not block scroll when the overlay is created', async () => {
8
- const page = await newSpecPage({
9
- components: [Modal],
10
- html: `
11
- <ion-modal></ion-modal>
12
- `,
13
- });
14
- const body = page.doc.querySelector('body');
15
- expect(body).not.toHaveClass('backdrop-no-scroll');
16
- });
17
- it('should block scroll when the overlay is presented', async () => {
18
- const page = await newSpecPage({
19
- components: [Modal],
20
- html: `
21
- <ion-modal></ion-modal>
22
- `,
23
- });
24
- const modal = page.body.querySelector('ion-modal');
25
- const body = page.doc.querySelector('body');
26
- await modal.present();
27
- expect(body).toHaveClass('backdrop-no-scroll');
28
- await modal.dismiss();
29
- expect(body).not.toHaveClass('backdrop-no-scroll');
30
- });
31
- it('should not block scroll when the overlay is dismissed', async () => {
32
- const page = await newSpecPage({
33
- components: [Modal],
34
- html: `
35
- <ion-modal></ion-modal>
36
- `,
37
- });
38
- const modal = page.body.querySelector('ion-modal');
39
- const body = page.doc.querySelector('body');
40
- await modal.present();
41
- expect(body).toHaveClass('backdrop-no-scroll');
42
- await modal.dismiss();
43
- expect(body).not.toHaveClass('backdrop-no-scroll');
44
- });
45
- it('should not enable scroll until last overlay is dismissed', async () => {
46
- const page = await newSpecPage({
47
- components: [Modal],
48
- html: `
49
- <ion-modal id="one"></ion-modal>
50
- <ion-modal id="two"></ion-modal>
51
- `,
52
- });
53
- const modalOne = page.body.querySelector('#one');
54
- const modalTwo = page.body.querySelector('#two');
55
- const body = page.doc.querySelector('body');
56
- await modalOne.present();
57
- expect(body).toHaveClass('backdrop-no-scroll');
58
- await modalTwo.present();
59
- expect(body).toHaveClass('backdrop-no-scroll');
60
- await modalOne.dismiss();
61
- expect(body).toHaveClass('backdrop-no-scroll');
62
- await modalTwo.dismiss();
63
- expect(body).not.toHaveClass('backdrop-no-scroll');
64
- });
65
- });
@@ -1,29 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- /**
5
- * When accessing the document or window, it is important
6
- * to account for SSR applications where the
7
- * window is not available. Code that accesses
8
- * window when it is not available will crash.
9
- * Even checking if `window === undefined` will cause
10
- * apps to crash in SSR.
11
- *
12
- * Use win below to access an SSR-safe version
13
- * of the window.
14
- *
15
- * Example 1:
16
- * Before:
17
- * if (window.innerWidth > 768) { ... }
18
- *
19
- * After:
20
- * import { win } from 'path/to/this/file';
21
- * if (win?.innerWidth > 768) { ... }
22
- *
23
- * Note: Code inside of this if-block will
24
- * not run in an SSR environment.
25
- */
26
- const win = typeof window !== 'undefined' ? window : undefined;
27
- const doc = typeof document !== 'undefined' ? document : undefined;
28
-
29
- export { doc as d, win as w };
@@ -1,31 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { r as registerInstance, h, H as Host, f as getElement } from './index-7c9b1bca.js';
5
- import { i as inheritAriaAttributes } from './helpers-3379ba19.js';
6
- import { b as getIonMode } from './ionic-global-40e42e7f.js';
7
-
8
- const PickerColumnOption = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- this.optionId = `ion-picker-opt-${pickerOptionIds++}`;
12
- this.inheritedAttributes = {};
13
- this.disabled = false;
14
- this.value = undefined;
15
- }
16
- componentWillLoad() {
17
- this.inheritedAttributes = inheritAriaAttributes(this.el);
18
- }
19
- render() {
20
- const { value, disabled, inheritedAttributes } = this;
21
- const ariaLabel = inheritedAttributes['aria-label'] || null;
22
- return (h(Host, { id: this.optionId, class: getIonMode(this) }, h("button", { tabindex: "-1", "aria-label": ariaLabel, class: {
23
- 'picker-opt': true,
24
- 'picker-opt-disabled': !!disabled,
25
- }, disabled: disabled }, h("slot", null, value))));
26
- }
27
- get el() { return getElement(this); }
28
- };
29
- let pickerOptionIds = 0;
30
-
31
- export { PickerColumnOption as ion_picker_column_option };
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{p as printIonWarning}from"./index-595d62c9.js";import{MENU_BACK_BUTTON_PRIORITY}from"./hardware-back-button-39299f84.js";import{c as componentOnReady}from"./helpers-3379ba19.js";import{b as getIonMode}from"./ionic-global-40e42e7f.js";import{c as createAnimation}from"./animation-8aa13916.js";var baseAnimation=function(n){return createAnimation().duration(n?400:300)};var menuOverlayAnimation=function(n){var r;var e;var t=n.width+8;var i=createAnimation();var a=createAnimation();if(n.isEndSide){r=t+"px";e="0px"}else{r=-t+"px";e="0px"}i.addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(r,")"),"translateX(".concat(e,")"));var o=getIonMode(n);var u=o==="ios";var s=u?.2:.25;a.addElement(n.backdropEl).fromTo("opacity",.01,s);return baseAnimation(u).addAnimation([i,a])};var menuPushAnimation=function(n){var r;var e;var t=getIonMode(n);var i=n.width;if(n.isEndSide){r=-i+"px";e=i+"px"}else{r=i+"px";e=-i+"px"}var a=createAnimation().addElement(n.menuInnerEl).fromTo("transform","translateX(".concat(e,")"),"translateX(0px)");var o=createAnimation().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(r,")"));var u=createAnimation().addElement(n.backdropEl).fromTo("opacity",.01,.32);return baseAnimation(t==="ios").addAnimation([a,o,u])};var menuRevealAnimation=function(n){var r=getIonMode(n);var e=n.width*(n.isEndSide?-1:1)+"px";var t=createAnimation().addElement(n.contentEl).fromTo("transform","translateX(0px)","translateX(".concat(e,")"));return baseAnimation(r==="ios").addAnimation(t)};var createMenuController=function(){var n=new Map;var r=[];var e=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,f(n,true)];case 1:r=e.sent();if(r){return[2,r.open()]}return[2,false]}}))}))};var t=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,n!==undefined?f(n,true):c()];case 1:r=e.sent();if(r!==undefined){return[2,r.close()]}return[2,false]}}))}))};var i=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,f(n,true)];case 1:r=e.sent();if(r){return[2,r.toggle()]}return[2,false]}}))}))};var a=function(n,r){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,f(r)];case 1:e=t.sent();if(e){e.disabled=!n}return[2,e]}}))}))};var o=function(n,r){return __awaiter(void 0,void 0,void 0,(function(){var e;return __generator(this,(function(t){switch(t.label){case 0:return[4,f(r)];case 1:e=t.sent();if(e){e.swipeGesture=n}return[2,e]}}))}))};var u=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r,r;return __generator(this,(function(e){switch(e.label){case 0:if(!(n!=null))return[3,2];return[4,f(n)];case 1:r=e.sent();return[2,r!==undefined&&r.isOpen()];case 2:return[4,c()];case 3:r=e.sent();return[2,r!==undefined]}}))}))};var s=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r;return __generator(this,(function(e){switch(e.label){case 0:return[4,f(n)];case 1:r=e.sent();if(r){return[2,!r.disabled]}return[2,false]}}))}))};var f=function(n,e){if(e===void 0){e=false}return __awaiter(void 0,void 0,void 0,(function(){var t,i,a;return __generator(this,(function(o){switch(o.label){case 0:return[4,I()];case 1:o.sent();if(n==="start"||n==="end"){t=r.filter((function(r){return r.side===n&&!r.disabled}));if(t.length>=1){if(t.length>1&&e){printIonWarning('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(t.length," menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side."),t.map((function(n){return n.el})))}return[2,t[0].el]}i=r.filter((function(r){return r.side===n}));if(i.length>=1){if(i.length>1&&e){printIonWarning('menuController queried for a menu on the "'.concat(n,'" side, but ').concat(i.length," menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side."),i.map((function(n){return n.el})))}return[2,i[0].el]}}else if(n!=null){return[2,b((function(r){return r.menuId===n}))]}a=b((function(n){return!n.disabled}));if(a){return[2,a]}return[2,r.length>0?r[0].el:undefined]}}))}))};var c=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,I()];case 1:n.sent();return[2,w()]}}))}))};var v=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,I()];case 1:n.sent();return[2,g()]}}))}))};var d=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(n){switch(n.label){case 0:return[4,I()];case 1:n.sent();return[2,A()]}}))}))};var m=function(r,e){n.set(r,e)};var _=function(n){if(r.indexOf(n)<0){r.push(n)}};var l=function(n){var e=r.indexOf(n);if(e>-1){r.splice(e,1)}};var h=function(n,r,e){return __awaiter(void 0,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:if(A()){return[2,false]}if(!r)return[3,3];return[4,c()];case 1:t=i.sent();if(!(t&&n.el!==t))return[3,3];return[4,t.setOpen(false,false)];case 2:i.sent();i.label=3;case 3:return[2,n._setOpen(r,e)]}}))}))};var p=function(r,e){var t=n.get(r);if(!t){throw new Error("animation not registered")}var i=t(e);return i};var w=function(){return b((function(n){return n._isOpen}))};var g=function(){return r.map((function(n){return n.el}))};var A=function(){return r.some((function(n){return n.isAnimating}))};var b=function(n){var e=r.find(n);if(e!==undefined){return e.el}return undefined};var I=function(){return Promise.all(Array.from(document.querySelectorAll("ion-menu")).map((function(n){return new Promise((function(r){return componentOnReady(n,r)}))})))};m("reveal",menuRevealAnimation);m("push",menuPushAnimation);m("overlay",menuOverlayAnimation);if(typeof document!=="undefined"){document.addEventListener("ionBackButton",(function(n){var r=w();if(r){n.detail.register(MENU_BACK_BUTTON_PRIORITY,(function(){return r.close()}))}}))}return{registerAnimation:m,get:f,getMenus:v,getOpen:c,isEnabled:s,swipeGesture:o,isAnimating:d,isOpen:u,enable:a,toggle:i,close:t,open:e,_getOpenSync:w,_createAnimation:p,_register:_,_unregister:l,_setOpen:h}};var menuController=createMenuController();export{menuController as m};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{d as doc}from"./index-7a14ecec.js";import{u as now,v as pointerCoord}from"./helpers-3379ba19.js";var startTapClick=function(e){if(doc===undefined){return}var r=-MOUSE_WAIT*10;var n=0;var t;var i;var a;var o=e.getBoolean("animated",true)&&e.getBoolean("rippleEffect",true);var f=new WeakMap;var u=function(e){r=now(e);E(e)};var c=function(e){r=now(e);A(e)};var v=function(e){if(e.button===2){return}var n=now(e)-MOUSE_WAIT;if(r<n){E(e)}};var d=function(e){var n=now(e)-MOUSE_WAIT;if(r<n){A(e)}};var T=function(){if(a)clearTimeout(a);a=undefined;if(t){D(false);t=undefined}};var E=function(e){if(t){return}s(getActivatableTarget(e),e)};var A=function(e){s(undefined,e)};var s=function(e,r){if(e&&e===t){return}if(a)clearTimeout(a);a=undefined;var n=pointerCoord(r),i=n.x,o=n.y;if(t){if(f.has(t)){throw new Error("internal error")}if(!t.classList.contains(ACTIVATED)){l(t,i,o)}D(true)}if(e){var u=f.get(e);if(u){clearTimeout(u);f.delete(e)}e.classList.remove(ACTIVATED);var c=function(){l(e,i,o);a=undefined};if(isInstant(e)){c()}else{a=setTimeout(c,ADD_ACTIVATED_DEFERS)}}t=e};var l=function(e,r,t){n=Date.now();e.classList.add(ACTIVATED);if(!o)return;var a=getRippleEffect(e);if(a!==null){p();i=a.addRipple(r,t)}};var p=function(){if(i!==undefined){i.then((function(e){return e()}));i=undefined}};var D=function(e){p();var r=t;if(!r){return}var i=CLEAR_STATE_DEFERS-Date.now()+n;if(e&&i>0&&!isInstant(r)){var a=setTimeout((function(){r.classList.remove(ACTIVATED);f.delete(r)}),CLEAR_STATE_DEFERS);f.set(r,a)}else{r.classList.remove(ACTIVATED)}};doc.addEventListener("ionGestureCaptured",T);doc.addEventListener("touchstart",u,true);doc.addEventListener("touchcancel",c,true);doc.addEventListener("touchend",c,true);doc.addEventListener("pointercancel",T,true);doc.addEventListener("mousedown",v,true);doc.addEventListener("mouseup",d,true)};var getActivatableTarget=function(e){if(e.composedPath!==undefined){var r=e.composedPath();for(var n=0;n<r.length-2;n++){var t=r[n];if(!(t instanceof ShadowRoot)&&t.classList.contains("ion-activatable")){return t}}}else{return e.target.closest(".ion-activatable")}};var isInstant=function(e){return e.classList.contains("ion-activatable-instant")};var getRippleEffect=function(e){if(e.shadowRoot){var r=e.shadowRoot.querySelector("ion-ripple-effect");if(r){return r}}return e.querySelector("ion-ripple-effect")};var ACTIVATED="ion-activated";var ADD_ACTIVATED_DEFERS=100;var CLEAR_STATE_DEFERS=150;var MOUSE_WAIT=2500;export{startTapClick};
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{g as getScrollElement,c as scrollByPoint,f as findClosestIonContent}from"./index-4392efa5.js";import{a as addEventListener,b as removeEventListener,r as raf,c as componentOnReady}from"./helpers-3379ba19.js";import{a as KeyboardResize,K as Keyboard}from"./keyboard-b063f012.js";import{w as win}from"./index-7a14ecec.js";import"./index-595d62c9.js";import"./capacitor-b4979570.js";var cloneMap=new WeakMap;var relocateInput=function(n,r,e,t,i){if(t===void 0){t=0}if(i===void 0){i=false}if(cloneMap.has(n)===e){return}if(e){addClone(n,r,t,i)}else{removeClone(n,r)}};var isFocused=function(n){return n===n.getRootNode().activeElement};var addClone=function(n,r,e,t){if(t===void 0){t=false}var i=r.parentNode;var o=r.cloneNode(false);o.classList.add("cloned-input");o.tabIndex=-1;if(t){o.disabled=true}i.appendChild(o);cloneMap.set(n,o);var a=n.ownerDocument;var u=a.dir==="rtl"?9999:-9999;n.style.pointerEvents="none";r.style.transform="translate3d(".concat(u,"px,").concat(e,"px,0) scale(0)")};var removeClone=function(n,r){var e=cloneMap.get(n);if(e){cloneMap.delete(n);e.remove()}n.style.pointerEvents="";r.style.transform=""};var SCROLL_AMOUNT_PADDING=50;var enableHideCaretOnScroll=function(n,r,e){if(!e||!r){return function(){return}}var t=function(e){if(isFocused(r)){relocateInput(n,r,e)}};var i=function(){return relocateInput(n,r,false)};var o=function(){return t(true)};var a=function(){return t(false)};addEventListener(e,"ionScrollStart",o);addEventListener(e,"ionScrollEnd",a);r.addEventListener("blur",i);return function(){removeEventListener(e,"ionScrollStart",o);removeEventListener(e,"ionScrollEnd",a);r.removeEventListener("blur",i)}};var SKIP_SELECTOR="input, textarea, [no-blur], [contenteditable]";var enableInputBlurring=function(){var n=true;var r=false;var e=document;var t=function(){r=true};var i=function(){n=true};var o=function(t){if(r){r=false;return}var i=e.activeElement;if(!i){return}if(i.matches(SKIP_SELECTOR)){return}var o=t.target;if(o===i){return}if(o.matches(SKIP_SELECTOR)||o.closest(SKIP_SELECTOR)){return}n=false;setTimeout((function(){if(!n){i.blur()}}),50)};addEventListener(e,"ionScrollStart",t);e.addEventListener("focusin",i,true);e.addEventListener("touchend",o,false);return function(){removeEventListener(e,"ionScrollStart",t,true);e.removeEventListener("focusin",i,true);e.removeEventListener("touchend",o,false)}};var SCROLL_ASSIST_SPEED=.3;var getScrollData=function(n,r,e,t){var i;var o=(i=n.closest("ion-item,[ion-item]"))!==null&&i!==void 0?i:n;return calcScrollData(o.getBoundingClientRect(),r.getBoundingClientRect(),e,t)};var calcScrollData=function(n,r,e,t){var i=n.top;var o=n.bottom;var a=r.top;var u=Math.min(r.bottom,t-e);var c=a+15;var d=u-SCROLL_AMOUNT_PADDING;var l=d-o;var f=c-i;var s=Math.round(l<0?-l:f>0?-f:0);var v=Math.min(s,i-a);var S=Math.abs(v);var _=S/SCROLL_ASSIST_SPEED;var w=Math.min(400,Math.max(150,_));return{scrollAmount:v,scrollDuration:w,scrollPadding:e,inputSafeY:-(i-c)+4}};var PADDING_TIMER_KEY="$ionPaddingTimer";var setScrollPadding=function(n,r,e){var t=n[PADDING_TIMER_KEY];if(t){clearTimeout(t)}if(r>0){n.style.setProperty("--keyboard-offset","".concat(r,"px"))}else{n[PADDING_TIMER_KEY]=setTimeout((function(){n.style.setProperty("--keyboard-offset","0px");if(e){e()}}),120)}};var setClearScrollPaddingListener=function(n,r,e){var t=function(){if(r){setScrollPadding(r,0,e)}};n.addEventListener("focusout",t,{once:true})};var currentPadding=0;var SKIP_SCROLL_ASSIST="data-ionic-skip-scroll-assist";var enableScrollAssist=function(n,r,e,t,i,o,a,u){if(u===void 0){u=false}var c=o&&(a===undefined||a.mode===KeyboardResize.None);var d=false;var l=win!==undefined?win.innerHeight:0;var f=function(i){if(d===false){d=true;return}jsSetFocus(n,r,e,t,i.detail.keyboardHeight,c,u,l,false)};var s=function(){d=false;win===null||win===void 0?void 0:win.removeEventListener("ionKeyboardDidShow",f);n.removeEventListener("focusout",s,true)};var v=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(o){if(r.hasAttribute(SKIP_SCROLL_ASSIST)){r.removeAttribute(SKIP_SCROLL_ASSIST);return[2]}jsSetFocus(n,r,e,t,i,c,u,l);win===null||win===void 0?void 0:win.addEventListener("ionKeyboardDidShow",f);n.addEventListener("focusout",s,true);return[2]}))}))};n.addEventListener("focusin",v,true);return function(){n.removeEventListener("focusin",v,true);win===null||win===void 0?void 0:win.removeEventListener("ionKeyboardDidShow",f);n.removeEventListener("focusout",s,true)}};var setManualFocus=function(n){if(document.activeElement===n){return}n.setAttribute(SKIP_SCROLL_ASSIST,"true");n.focus()};var jsSetFocus=function(n,r,e,t,i,o,a,u,c){if(a===void 0){a=false}if(u===void 0){u=0}if(c===void 0){c=true}return __awaiter(void 0,void 0,void 0,(function(){var d,l,f,s,v,S;return __generator(this,(function(_){switch(_.label){case 0:if(!e&&!t){return[2]}d=getScrollData(n,e||t,i,u);if(e&&Math.abs(d.scrollAmount)<4){setManualFocus(r);if(o&&e!==null){setScrollPadding(e,currentPadding);setClearScrollPaddingListener(r,e,(function(){return currentPadding=0}))}return[2]}relocateInput(n,r,true,d.inputSafeY,a);setManualFocus(r);raf((function(){return n.click()}));if(o&&e){currentPadding=d.scrollPadding;setScrollPadding(e,currentPadding)}if(!(typeof window!=="undefined"))return[3,3];f=function(){return __awaiter(void 0,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(l!==undefined){clearTimeout(l)}window.removeEventListener("ionKeyboardDidShow",s);window.removeEventListener("ionKeyboardDidShow",f);if(!e)return[3,2];return[4,scrollByPoint(e,0,d.scrollAmount,d.scrollDuration)];case 1:t.sent();t.label=2;case 2:relocateInput(n,r,false,d.inputSafeY);setManualFocus(r);if(o){setClearScrollPaddingListener(r,e,(function(){return currentPadding=0}))}return[2]}}))}))};s=function(){window.removeEventListener("ionKeyboardDidShow",s);window.addEventListener("ionKeyboardDidShow",f)};if(!e)return[3,2];return[4,getScrollElement(e)];case 1:v=_.sent();S=v.scrollHeight-v.clientHeight;if(c&&d.scrollAmount>S-v.scrollTop){if(r.type==="password"){d.scrollAmount+=SCROLL_AMOUNT_PADDING;window.addEventListener("ionKeyboardDidShow",s)}else{window.addEventListener("ionKeyboardDidShow",f)}l=setTimeout(f,1e3);return[2]}_.label=2;case 2:f();_.label=3;case 3:return[2]}}))}))};var INPUT_BLURRING=true;var startInputShims=function(n,r){return __awaiter(void 0,void 0,void 0,(function(){var e,t,i,o,a,u,c,d,l,f,s,v,S,_,w,p,I;return __generator(this,(function(m){switch(m.label){case 0:e=document;t=r==="ios";i=r==="android";o=n.getNumber("keyboardHeight",290);a=n.getBoolean("scrollAssist",true);u=n.getBoolean("hideCaretOnScroll",t);c=n.getBoolean("inputBlurring",t);d=n.getBoolean("scrollPadding",true);l=Array.from(e.querySelectorAll("ion-input, ion-textarea"));f=new WeakMap;s=new WeakMap;return[4,Keyboard.getResizeMode()];case 1:v=m.sent();S=function(n){return __awaiter(void 0,void 0,void 0,(function(){var r,e,t,c,l,S,l;return __generator(this,(function(_){switch(_.label){case 0:return[4,new Promise((function(r){return componentOnReady(n,r)}))];case 1:_.sent();r=n.shadowRoot||n;e=r.querySelector("input")||r.querySelector("textarea");t=findClosestIonContent(n);c=!t?n.closest("ion-footer"):null;if(!e){return[2]}if(!!t&&u&&!f.has(n)){l=enableHideCaretOnScroll(n,e,t);f.set(n,l)}S=e.type==="date"||e.type==="datetime-local";if(!S&&(!!t||!!c)&&a&&!s.has(n)){l=enableScrollAssist(n,e,t,c,o,d,v,i);s.set(n,l)}return[2]}}))}))};_=function(n){if(u){var r=f.get(n);if(r){r()}f.delete(n)}if(a){var r=s.get(n);if(r){r()}s.delete(n)}};if(c&&INPUT_BLURRING){enableInputBlurring()}for(w=0,p=l;w<p.length;w++){I=p[w];S(I)}e.addEventListener("ionInputDidLoad",(function(n){S(n.detail)}));e.addEventListener("ionInputDidUnload",(function(n){_(n.detail)}));return[2]}}))}))};export{startInputShims};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{w as win}from"./index-7a14ecec.js";import{r as raf}from"./helpers-3379ba19.js";import{a as printIonError}from"./index-595d62c9.js";var createSlotMutationController=function(r,t,e){var n;var o;if(win!==undefined&&"MutationObserver"in win){n=new MutationObserver((function(r){for(var n=0,o=r;n<o.length;n++){var a=o[n];var u=function(r){if(r.nodeType===Node.ELEMENT_NODE&&r.slot===t){e();raf((function(){return i(r)}));return{value:void 0}}};for(var f=0,v=a.addedNodes;f<v.length;f++){var d=v[f];var c=u(d);if(typeof c==="object")return c.value}}}));n.observe(r,{childList:true})}var i=function(r){var n;if(o){o.disconnect();o=undefined}o=new MutationObserver((function(r){e();for(var n=0,o=r;n<o.length;n++){var i=o[n];for(var a=0,f=i.removedNodes;a<f.length;a++){var v=f[a];if(v.nodeType===Node.ELEMENT_NODE&&v.slot===t){u()}}}}));o.observe((n=r.parentElement)!==null&&n!==void 0?n:r,{subtree:true,childList:true})};var a=function(){if(n){n.disconnect();n=undefined}u()};var u=function(){if(o){o.disconnect();o=undefined}};return{destroy:a}};var getCounterText=function(r,t,e){var n=r==null?0:r.toString().length;var o=defaultCounterFormatter(n,t);if(e===undefined){return o}try{return e(n,t)}catch(r){printIonError("Exception in provided `counterFormatter`.",r);return o}};var defaultCounterFormatter=function(r,t){return"".concat(r," / ").concat(t)};export{createSlotMutationController as c,getCounterText as g};
@@ -1,4 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import{r as registerInstance,h,H as Host,f as getElement}from"./index-7c9b1bca.js";import{i as inheritAriaAttributes}from"./helpers-3379ba19.js";import{b as getIonMode}from"./ionic-global-40e42e7f.js";var PickerColumnOption=function(){function t(t){registerInstance(this,t);this.optionId="ion-picker-opt-".concat(pickerOptionIds++);this.inheritedAttributes={};this.disabled=false;this.value=undefined}t.prototype.componentWillLoad=function(){this.inheritedAttributes=inheritAriaAttributes(this.el)};t.prototype.render=function(){var t=this,i=t.value,e=t.disabled,n=t.inheritedAttributes;var r=n["aria-label"]||null;return h(Host,{id:this.optionId,class:getIonMode(this)},h("button",{tabindex:"-1","aria-label":r,class:{"picker-opt":true,"picker-opt-disabled":!!e},disabled:e},h("slot",null,i)))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();var pickerOptionIds=0;export{PickerColumnOption as ion_picker_column_option};
@@ -1,4 +0,0 @@
1
- import{__awaiter,__generator}from"tslib";
2
- /*!
3
- * (C) Ionic http://ionicframework.com - MIT License
4
- */import{r as registerInstance,d as createEvent,h,H as Host,f as getElement}from"./index-7c9b1bca.js";import{r as raf,g as getElementRoot}from"./helpers-3379ba19.js";import{a as hapticSelectionStart,b as hapticSelectionChanged,h as hapticSelectionEnd}from"./haptic-1243b917.js";import{a as isPlatform,b as getIonMode}from"./ionic-global-40e42e7f.js";import{c as createColorClasses}from"./theme-17531cdf.js";import"./capacitor-b4979570.js";import"./index-7a14ecec.js";var pickerColumnIosCss=":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}";var pickerColumnMdCss=":host{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:0px;padding-bottom:0px;height:200px;outline:none;font-size:22px;-webkit-scroll-snap-type:y mandatory;-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory;overflow-x:hidden;overflow-y:scroll;scrollbar-width:none;text-align:center}:host::-webkit-scrollbar{display:none}:host .picker-item{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;height:34px;border:0px;outline:none;background:transparent;color:inherit;font-family:var(--ion-font-family, inherit);font-size:inherit;line-height:34px;text-align:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;overflow:hidden;scroll-snap-align:center}:host .picker-item-empty,:host .picker-item[disabled]{cursor:default}:host .picker-item-empty,:host(:not([disabled])) .picker-item[disabled]{scroll-snap-align:none}:host([disabled]){overflow-y:hidden}:host .picker-item[disabled]{opacity:0.4}:host(.picker-column-active) .picker-item.picker-item-active{color:var(--ion-color-base)}@media (any-hover: hover){:host(:focus){outline:none;background:rgba(var(--ion-color-base-rgb), 0.2)}}:host .picker-item-active{color:var(--ion-color-base)}";var PickerColumn=function(){function e(e){var i=this;registerInstance(this,e);this.ionChange=createEvent(this,"ionChange",7);this.isScrolling=false;this.isColumnVisible=false;this.canExitInputMode=true;this.centerPickerItemInView=function(e,t,r){if(t===void 0){t=true}if(r===void 0){r=true}var n=i,a=n.el,o=n.isColumnVisible;if(o){var s=e.offsetTop-3*e.clientHeight+e.clientHeight/2;if(a.scrollTop!==s){i.canExitInputMode=r;a.scroll({top:s,left:0,behavior:t?"smooth":undefined})}}};this.setPickerItemActiveState=function(e,i){if(i){e.classList.add(PICKER_ITEM_ACTIVE_CLASS);e.part.add(PICKER_ITEM_ACTIVE_PART)}else{e.classList.remove(PICKER_ITEM_ACTIVE_CLASS);e.part.remove(PICKER_ITEM_ACTIVE_PART)}};this.inputModeChange=function(e){if(!i.numericInput){return}var t=e.detail,r=t.useInputMode,n=t.inputModeColumn;var a=n===undefined||n===i.el;if(!r||!a){i.setInputModeActive(false);return}i.setInputModeActive(true)};this.setInputModeActive=function(e){if(i.isScrolling){i.scrollEndCallback=function(){i.isActive=e};return}i.isActive=e};this.initializeScrollListener=function(){var e=isPlatform("ios");var t=i.el;var r;var n=i.activeItem;var a=function(){raf((function(){if(r){clearTimeout(r);r=undefined}if(!i.isScrolling){e&&hapticSelectionStart();i.isScrolling=true}var a=t.getBoundingClientRect();var o=a.x+a.width/2;var s=a.y+a.height/2;var l=t.shadowRoot.elementFromPoint(o,s);if(n!==null){i.setPickerItemActiveState(n,false)}if(l===null||l.disabled){return}if(l!==n){e&&hapticSelectionChanged();if(i.canExitInputMode){i.exitInputMode()}}n=l;i.setPickerItemActiveState(l,true);r=setTimeout((function(){i.isScrolling=false;e&&hapticSelectionEnd();var t=i.scrollEndCallback;if(t){t();i.scrollEndCallback=undefined}i.canExitInputMode=true;var r=l.getAttribute("data-index");if(r===null){return}var n=parseInt(r,10);var a=i.items[n];if(a.value!==i.value){i.setValue(a.value)}}),250)}))};raf((function(){t.addEventListener("scroll",a);i.destroyScrollListener=function(){t.removeEventListener("scroll",a)}}))};this.exitInputMode=function(){var e=i.parentEl;if(e==null)return;e.exitInputMode();i.el.classList.remove("picker-column-active")};this.isActive=false;this.disabled=false;this.items=[];this.value=undefined;this.color="primary";this.numericInput=false}e.prototype.valueChange=function(){if(this.isColumnVisible){this.scrollActiveItemIntoView()}};e.prototype.componentWillLoad=function(){var e=this;var i=function(i){var t=i[0];if(t.isIntersecting){var r=e,n=r.activeItem,a=r.el;e.isColumnVisible=true;var o=getElementRoot(a).querySelector(".".concat(PICKER_ITEM_ACTIVE_CLASS));if(o){e.setPickerItemActiveState(o,false)}e.scrollActiveItemIntoView();if(n){e.setPickerItemActiveState(n,true)}e.initializeScrollListener()}else{e.isColumnVisible=false;if(e.destroyScrollListener){e.destroyScrollListener();e.destroyScrollListener=undefined}}};new IntersectionObserver(i,{threshold:.001}).observe(this.el);var t=this.parentEl=this.el.closest("ion-picker");if(t!==null){t.addEventListener("ionInputModeChange",(function(i){return e.inputModeChange(i)}))}};e.prototype.componentDidRender=function(){var e;var i=this,t=i.activeItem,r=i.items,n=i.isColumnVisible,a=i.value;if(n){if(t){this.scrollActiveItemIntoView()}else if(((e=r[0])===null||e===void 0?void 0:e.value)!==a){this.setValue(r[0].value)}}};e.prototype.scrollActiveItemIntoView=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(i){e=this.activeItem;if(e){this.centerPickerItemInView(e,false,false)}return[2]}))}))};e.prototype.setValue=function(e){return __awaiter(this,void 0,void 0,(function(){var i,t;return __generator(this,(function(r){i=this.items;this.value=e;t=i.find((function(i){return i.value===e&&i.disabled!==true}));if(t){this.ionChange.emit(t)}return[2]}))}))};Object.defineProperty(e.prototype,"activeItem",{get:function(){var e='.picker-item[data-value="'.concat(this.value,'"]').concat(this.disabled?"":":not([disabled])");return getElementRoot(this.el).querySelector(e)},enumerable:false,configurable:true});e.prototype.render=function(){var e;var i=this;var t=this,r=t.items,n=t.color,a=t.disabled,o=t.isActive,s=t.numericInput;var l=getIonMode(this);return h(Host,{exportparts:"".concat(PICKER_ITEM_PART,", ").concat(PICKER_ITEM_ACTIVE_PART),disabled:a,tabindex:a?null:0,class:createColorClasses(n,(e={},e[l]=true,e["picker-column-active"]=o,e["picker-column-numeric-input"]=s,e))},h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "),h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "),h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "),r.map((function(e,t){var r=a||e.disabled||false;return h("button",{tabindex:"-1",class:{"picker-item":true},"data-value":e.value,"data-index":t,onClick:function(e){i.centerPickerItemInView(e.target,true)},disabled:r,part:PICKER_ITEM_PART},e.text)})),h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "),h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "),h("div",{class:"picker-item picker-item-empty","aria-hidden":"true"}," "))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{value:["valueChange"]}},enumerable:false,configurable:true});return e}();var PICKER_ITEM_ACTIVE_CLASS="picker-item-active";var PICKER_ITEM_PART="wheel-item";var PICKER_ITEM_ACTIVE_PART="active";PickerColumn.style={ios:pickerColumnIosCss,md:pickerColumnMdCss};export{PickerColumn as ion_picker_column};