@ionic/core 7.5.7 → 7.5.8-dev.11701374238.101cd738

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 (1609) hide show
  1. package/components/action-sheet.js +297 -287
  2. package/components/alert.js +475 -465
  3. package/components/animation.js +990 -990
  4. package/components/backdrop.js +56 -56
  5. package/components/button-active.js +56 -56
  6. package/components/button.js +236 -236
  7. package/components/buttons.js +29 -29
  8. package/components/capacitor.js +4 -4
  9. package/components/checkbox.js +168 -168
  10. package/components/config.js +142 -142
  11. package/components/cubic-bezier.js +49 -49
  12. package/components/data.js +1055 -1055
  13. package/components/dir.js +5 -5
  14. package/components/focus-visible.js +63 -63
  15. package/components/form-controller.js +45 -45
  16. package/components/framework-delegate.js +121 -121
  17. package/components/gesture-controller.js +182 -182
  18. package/components/haptic.js +150 -150
  19. package/components/hardware-back-button.js +48 -48
  20. package/components/helpers.js +257 -257
  21. package/components/icon.js +133 -133
  22. package/components/index.js +95 -95
  23. package/components/index2.js +163 -163
  24. package/components/index3.js +417 -417
  25. package/components/index4.js +258 -258
  26. package/components/index6.js +3 -3
  27. package/components/index8.js +58 -58
  28. package/components/index9.js +171 -171
  29. package/components/input-shims.js +483 -483
  30. package/components/input.utils.js +105 -105
  31. package/components/ion-accordion-group.d.ts +2 -2
  32. package/components/ion-accordion-group.js +220 -220
  33. package/components/ion-accordion.d.ts +2 -2
  34. package/components/ion-accordion.js +326 -326
  35. package/components/ion-action-sheet.d.ts +2 -2
  36. package/components/ion-alert.d.ts +2 -2
  37. package/components/ion-app.d.ts +2 -2
  38. package/components/ion-app.js +93 -93
  39. package/components/ion-avatar.d.ts +2 -2
  40. package/components/ion-avatar.js +23 -23
  41. package/components/ion-back-button.d.ts +2 -2
  42. package/components/ion-back-button.js +102 -102
  43. package/components/ion-backdrop.d.ts +2 -2
  44. package/components/ion-badge.d.ts +2 -2
  45. package/components/ion-badge.js +29 -29
  46. package/components/ion-breadcrumb.d.ts +2 -2
  47. package/components/ion-breadcrumb.js +111 -111
  48. package/components/ion-breadcrumbs.d.ts +2 -2
  49. package/components/ion-breadcrumbs.js +139 -139
  50. package/components/ion-button.d.ts +2 -2
  51. package/components/ion-buttons.d.ts +2 -2
  52. package/components/ion-card-content.d.ts +2 -2
  53. package/components/ion-card-content.js +27 -27
  54. package/components/ion-card-header.d.ts +2 -2
  55. package/components/ion-card-header.js +33 -33
  56. package/components/ion-card-subtitle.d.ts +2 -2
  57. package/components/ion-card-subtitle.js +30 -30
  58. package/components/ion-card-title.d.ts +2 -2
  59. package/components/ion-card-title.js +30 -30
  60. package/components/ion-card.d.ts +2 -2
  61. package/components/ion-card.js +78 -78
  62. package/components/ion-checkbox.d.ts +2 -2
  63. package/components/ion-chip.d.ts +2 -2
  64. package/components/ion-chip.js +41 -41
  65. package/components/ion-col.d.ts +2 -2
  66. package/components/ion-col.js +156 -156
  67. package/components/ion-content.d.ts +2 -2
  68. package/components/ion-content.js +394 -394
  69. package/components/ion-datetime-button.d.ts +2 -2
  70. package/components/ion-datetime-button.js +348 -348
  71. package/components/ion-datetime.d.ts +2 -2
  72. package/components/ion-datetime.js +1720 -1720
  73. package/components/ion-fab-button.d.ts +2 -2
  74. package/components/ion-fab-button.js +109 -109
  75. package/components/ion-fab-list.d.ts +2 -2
  76. package/components/ion-fab-list.js +44 -44
  77. package/components/ion-fab.d.ts +2 -2
  78. package/components/ion-fab.js +75 -75
  79. package/components/ion-footer.d.ts +2 -2
  80. package/components/ion-footer.js +124 -124
  81. package/components/ion-grid.d.ts +2 -2
  82. package/components/ion-grid.js +27 -27
  83. package/components/ion-header.d.ts +2 -2
  84. package/components/ion-header.js +298 -298
  85. package/components/ion-img.d.ts +2 -2
  86. package/components/ion-img.js +97 -97
  87. package/components/ion-infinite-scroll-content.d.ts +2 -2
  88. package/components/ion-infinite-scroll-content.js +49 -49
  89. package/components/ion-infinite-scroll.d.ts +2 -2
  90. package/components/ion-infinite-scroll.js +179 -179
  91. package/components/ion-input.d.ts +2 -2
  92. package/components/ion-input.js +452 -452
  93. package/components/ion-item-divider.d.ts +2 -2
  94. package/components/ion-item-divider.js +34 -34
  95. package/components/ion-item-group.d.ts +2 -2
  96. package/components/ion-item-group.js +28 -28
  97. package/components/ion-item-option.d.ts +2 -2
  98. package/components/ion-item-option.js +67 -67
  99. package/components/ion-item-options.d.ts +2 -2
  100. package/components/ion-item-options.js +50 -50
  101. package/components/ion-item-sliding.d.ts +2 -2
  102. package/components/ion-item-sliding.js +404 -404
  103. package/components/ion-item.d.ts +2 -2
  104. package/components/ion-label.d.ts +2 -2
  105. package/components/ion-list-header.d.ts +2 -2
  106. package/components/ion-list.d.ts +2 -2
  107. package/components/ion-loading.d.ts +2 -2
  108. package/components/ion-loading.js +257 -247
  109. package/components/ion-menu-button.d.ts +2 -2
  110. package/components/ion-menu-button.js +77 -77
  111. package/components/ion-menu-toggle.d.ts +2 -2
  112. package/components/ion-menu-toggle.js +41 -41
  113. package/components/ion-menu.d.ts +2 -2
  114. package/components/ion-menu.js +629 -629
  115. package/components/ion-modal.d.ts +2 -2
  116. package/components/ion-modal.js +1450 -1440
  117. package/components/ion-nav-link.d.ts +2 -2
  118. package/components/ion-nav-link.js +47 -47
  119. package/components/ion-nav.d.ts +2 -2
  120. package/components/ion-nav.js +910 -910
  121. package/components/ion-note.d.ts +2 -2
  122. package/components/ion-picker-column-internal.d.ts +2 -2
  123. package/components/ion-picker-column.d.ts +2 -2
  124. package/components/ion-picker-internal.d.ts +2 -2
  125. package/components/ion-picker.d.ts +2 -2
  126. package/components/ion-picker.js +263 -253
  127. package/components/ion-popover.d.ts +2 -2
  128. package/components/ion-progress-bar.d.ts +2 -2
  129. package/components/ion-progress-bar.js +57 -57
  130. package/components/ion-radio-group.d.ts +2 -2
  131. package/components/ion-radio.d.ts +2 -2
  132. package/components/ion-range.d.ts +2 -2
  133. package/components/ion-range.js +589 -589
  134. package/components/ion-refresher-content.d.ts +2 -2
  135. package/components/ion-refresher-content.js +63 -63
  136. package/components/ion-refresher.d.ts +2 -2
  137. package/components/ion-refresher.js +747 -747
  138. package/components/ion-reorder-group.d.ts +2 -2
  139. package/components/ion-reorder-group.js +259 -259
  140. package/components/ion-reorder.d.ts +2 -2
  141. package/components/ion-reorder.js +39 -39
  142. package/components/ion-ripple-effect.d.ts +2 -2
  143. package/components/ion-route-redirect.d.ts +2 -2
  144. package/components/ion-route-redirect.js +34 -34
  145. package/components/ion-route.d.ts +2 -2
  146. package/components/ion-route.js +56 -56
  147. package/components/ion-router-link.d.ts +2 -2
  148. package/components/ion-router-link.js +45 -45
  149. package/components/ion-router-outlet.d.ts +2 -2
  150. package/components/ion-router-outlet.js +192 -192
  151. package/components/ion-router.d.ts +2 -2
  152. package/components/ion-router.js +632 -632
  153. package/components/ion-row.d.ts +2 -2
  154. package/components/ion-row.js +20 -20
  155. package/components/ion-searchbar.d.ts +2 -2
  156. package/components/ion-searchbar.js +400 -400
  157. package/components/ion-segment-button.d.ts +2 -2
  158. package/components/ion-segment-button.js +117 -117
  159. package/components/ion-segment.d.ts +2 -2
  160. package/components/ion-segment.js +427 -427
  161. package/components/ion-select-option.d.ts +2 -2
  162. package/components/ion-select-option.js +27 -27
  163. package/components/ion-select-popover.d.ts +2 -2
  164. package/components/ion-select.d.ts +2 -2
  165. package/components/ion-select.js +756 -756
  166. package/components/ion-skeleton-text.d.ts +2 -2
  167. package/components/ion-skeleton-text.js +31 -31
  168. package/components/ion-spinner.d.ts +2 -2
  169. package/components/ion-split-pane.d.ts +2 -2
  170. package/components/ion-split-pane.js +145 -145
  171. package/components/ion-tab-bar.d.ts +2 -2
  172. package/components/ion-tab-bar.js +77 -77
  173. package/components/ion-tab-button.d.ts +2 -2
  174. package/components/ion-tab-button.js +104 -104
  175. package/components/ion-tab.d.ts +2 -2
  176. package/components/ion-tab.js +72 -72
  177. package/components/ion-tabs.d.ts +2 -2
  178. package/components/ion-tabs.js +160 -160
  179. package/components/ion-text.d.ts +2 -2
  180. package/components/ion-text.js +26 -26
  181. package/components/ion-textarea.d.ts +2 -2
  182. package/components/ion-textarea.js +393 -393
  183. package/components/ion-thumbnail.d.ts +2 -2
  184. package/components/ion-thumbnail.js +20 -20
  185. package/components/ion-title.d.ts +2 -2
  186. package/components/ion-title.js +56 -56
  187. package/components/ion-toast.d.ts +2 -2
  188. package/components/ion-toast.js +448 -438
  189. package/components/ion-toggle.d.ts +2 -2
  190. package/components/ion-toggle.js +239 -239
  191. package/components/ion-toolbar.d.ts +2 -2
  192. package/components/ion-toolbar.js +71 -71
  193. package/components/ionic-global.js +163 -163
  194. package/components/ios.transition.js +598 -598
  195. package/components/item.js +300 -300
  196. package/components/keyboard-controller.js +128 -128
  197. package/components/keyboard.js +62 -62
  198. package/components/keyboard2.js +59 -59
  199. package/components/label.js +83 -83
  200. package/components/list-header.js +33 -33
  201. package/components/list.js +50 -50
  202. package/components/lock-controller.js +24 -24
  203. package/components/md.transition.js +44 -44
  204. package/components/menu-toggle-util.js +2 -2
  205. package/components/notch-controller.js +120 -120
  206. package/components/note.js +29 -29
  207. package/components/overlays.js +494 -494
  208. package/components/picker-column-internal.js +348 -348
  209. package/components/picker-column.js +334 -334
  210. package/components/picker-internal.js +468 -468
  211. package/components/popover.js +1154 -1144
  212. package/components/radio-group.js +159 -159
  213. package/components/radio.js +200 -200
  214. package/components/ripple-effect.js +81 -81
  215. package/components/select-popover.js +163 -163
  216. package/components/spinner.js +182 -182
  217. package/components/status-tap.js +26 -26
  218. package/components/swipe-back.js +65 -65
  219. package/components/theme.js +23 -23
  220. package/components/watch-options.js +30 -30
  221. package/dist/cjs/animation-cc40e39c.js +1061 -0
  222. package/dist/cjs/{app-globals-1d4c1dbf.js → app-globals-28656db1.js} +1 -1
  223. package/dist/cjs/button-active-75b38d77.js +69 -0
  224. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-46980811.js} +4 -4
  225. package/dist/cjs/config-4f60b98a.js +199 -0
  226. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  227. package/dist/cjs/data-36b9094e.js +1622 -0
  228. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  229. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  230. package/dist/cjs/form-controller-7d42a722.js +66 -0
  231. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  232. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  233. package/dist/cjs/haptic-216df36c.js +212 -0
  234. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  235. package/dist/cjs/helpers-76bb7efb.js +441 -0
  236. package/dist/cjs/index-097270a3.js +310 -0
  237. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  238. package/dist/cjs/index-8c1e77d6.js +198 -0
  239. package/dist/cjs/{index-c2940dc1.js → index-b0102f48.js} +19 -6
  240. package/dist/cjs/index-cb3e0ab7.js +243 -0
  241. package/dist/cjs/index-d1b59ffa.js +459 -0
  242. package/dist/cjs/{index-da2c7a37.js → index-da15e99c.js} +60 -60
  243. package/dist/cjs/index.cjs.js +112 -112
  244. package/dist/cjs/input-shims-87102b6a.js +596 -0
  245. package/dist/cjs/input.utils-2a11c1fe.js +137 -0
  246. package/dist/cjs/ion-accordion_2.cjs.entry.js +488 -488
  247. package/dist/cjs/ion-action-sheet.cjs.entry.js +259 -249
  248. package/dist/cjs/ion-alert.cjs.entry.js +439 -429
  249. package/dist/cjs/ion-app_8.cjs.entry.js +1149 -1149
  250. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  251. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  252. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  253. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  254. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  255. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  256. package/dist/cjs/ion-checkbox.cjs.entry.js +145 -145
  257. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  258. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  259. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  260. package/dist/cjs/ion-datetime_3.cjs.entry.js +2182 -2172
  261. package/dist/cjs/ion-fab_3.cjs.entry.js +150 -150
  262. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  263. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +190 -190
  264. package/dist/cjs/ion-input.cjs.entry.js +396 -396
  265. package/dist/cjs/ion-item-option_3.cjs.entry.js +457 -457
  266. package/dist/cjs/ion-item_8.cjs.entry.js +425 -425
  267. package/dist/cjs/ion-loading.cjs.entry.js +219 -209
  268. package/dist/cjs/ion-menu_3.cjs.entry.js +667 -667
  269. package/dist/cjs/ion-modal.cjs.entry.js +1414 -1404
  270. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  271. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +328 -328
  272. package/dist/cjs/ion-picker-internal.cjs.entry.js +453 -453
  273. package/dist/cjs/ion-popover.cjs.entry.js +1107 -1097
  274. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  275. package/dist/cjs/ion-radio_2.cjs.entry.js +314 -314
  276. package/dist/cjs/ion-range.cjs.entry.js +554 -554
  277. package/dist/cjs/ion-refresher_2.cjs.entry.js +785 -785
  278. package/dist/cjs/ion-reorder_2.cjs.entry.js +266 -266
  279. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  280. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  281. package/dist/cjs/ion-searchbar.cjs.entry.js +358 -358
  282. package/dist/cjs/ion-segment_2.cjs.entry.js +507 -507
  283. package/dist/cjs/ion-select_3.cjs.entry.js +761 -761
  284. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  285. package/dist/cjs/ion-split-pane.cjs.entry.js +117 -117
  286. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +137 -137
  287. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  288. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  289. package/dist/cjs/ion-textarea.cjs.entry.js +350 -350
  290. package/dist/cjs/ion-toast.cjs.entry.js +404 -394
  291. package/dist/cjs/ion-toggle.cjs.entry.js +222 -222
  292. package/dist/cjs/ionic-global-62510d64.js +230 -0
  293. package/dist/cjs/ionic.cjs.js +4 -4
  294. package/dist/cjs/ios.transition-d9c0e4fb.js +654 -0
  295. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-7d621ee9.js} +61 -61
  296. package/dist/cjs/keyboard-9390928c.js +81 -0
  297. package/dist/cjs/keyboard-controller-2158b478.js +167 -0
  298. package/dist/cjs/loader.cjs.js +3 -3
  299. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  300. package/dist/cjs/md.transition-4fac8a87.js +59 -0
  301. package/dist/cjs/notch-controller-1dce508a.js +155 -0
  302. package/dist/cjs/overlays-b1471172.js +714 -0
  303. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  304. package/dist/cjs/status-tap-0aa8e1f2.js +42 -0
  305. package/dist/cjs/swipe-back-2a858bbd.js +81 -0
  306. package/dist/cjs/theme-d1c573d2.js +48 -0
  307. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  308. package/dist/collection/collection-manifest.json +1 -1
  309. package/dist/collection/components/accordion/accordion.js +410 -410
  310. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  311. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  312. package/dist/collection/components/accordion/test/accordion.spec.js +84 -84
  313. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  314. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  315. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  316. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  317. package/dist/collection/components/accordion-group/accordion-group.js +421 -421
  318. package/dist/collection/components/action-sheet/action-sheet.js +739 -729
  319. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  320. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  321. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  322. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  323. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  324. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +25 -25
  325. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  326. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +74 -74
  327. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +9 -9
  328. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  329. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  330. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  331. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  332. package/dist/collection/components/alert/alert.js +977 -967
  333. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  334. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  335. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  336. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  337. package/dist/collection/components/alert/test/a11y/alert.e2e.js +116 -116
  338. package/dist/collection/components/alert/test/alert-id.spec.js +25 -25
  339. package/dist/collection/components/alert/test/alert.spec.js +26 -26
  340. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +29 -29
  341. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  342. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  343. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  344. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  345. package/dist/collection/components/app/app.js +116 -116
  346. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  347. package/dist/collection/components/avatar/avatar.js +17 -17
  348. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  349. package/dist/collection/components/back-button/back-button.js +214 -214
  350. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  351. package/dist/collection/components/back-button/test/back-button.spec.js +72 -72
  352. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  353. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  354. package/dist/collection/components/backdrop/backdrop.js +131 -131
  355. package/dist/collection/components/badge/badge.js +49 -49
  356. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  357. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  358. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  359. package/dist/collection/components/breadcrumb/test/aria.spec.js +14 -14
  360. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  361. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  362. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  363. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +29 -29
  364. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  365. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  366. package/dist/collection/components/button/button.js +541 -541
  367. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  368. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  369. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  370. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  371. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  372. package/dist/collection/components/button/test/form-reference/button.spec.js +15 -15
  373. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  374. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  375. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  376. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  377. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  378. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  379. package/dist/collection/components/buttons/buttons.js +46 -46
  380. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  381. package/dist/collection/components/card/card.js +251 -251
  382. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  383. package/dist/collection/components/card/test/aria.spec.js +8 -8
  384. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  385. package/dist/collection/components/card-content/card-content.js +21 -21
  386. package/dist/collection/components/card-header/card-header.js +70 -70
  387. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  388. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  389. package/dist/collection/components/card-title/card-title.js +50 -50
  390. package/dist/collection/components/checkbox/checkbox.js +415 -415
  391. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  392. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  393. package/dist/collection/components/checkbox/test/checkbox.spec.js +10 -10
  394. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  395. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  396. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  397. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  398. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  399. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  400. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  401. package/dist/collection/components/chip/chip.js +90 -90
  402. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  403. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  404. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  405. package/dist/collection/components/col/col.js +536 -536
  406. package/dist/collection/components/content/content.js +745 -745
  407. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  408. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  409. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  410. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  411. package/dist/collection/components/datetime/datetime.js +2245 -2245
  412. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +58 -58
  413. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +33 -33
  414. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  415. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  416. package/dist/collection/components/datetime/test/comparison.spec.js +33 -33
  417. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  418. package/dist/collection/components/datetime/test/data.spec.js +431 -431
  419. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  420. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  421. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +43 -43
  422. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +21 -21
  423. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  424. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  425. package/dist/collection/components/datetime/test/format.spec.js +106 -106
  426. package/dist/collection/components/datetime/test/helpers.spec.js +58 -58
  427. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  428. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  429. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  430. package/dist/collection/components/datetime/test/manipulation.spec.js +384 -384
  431. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  432. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  433. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  434. package/dist/collection/components/datetime/test/parse.spec.js +204 -204
  435. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  436. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  437. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  438. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +86 -86
  439. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +40 -40
  440. package/dist/collection/components/datetime/test/state.spec.js +101 -101
  441. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  442. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  443. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  444. package/dist/collection/components/datetime/utils/data.js +394 -394
  445. package/dist/collection/components/datetime/utils/format.js +143 -143
  446. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  447. package/dist/collection/components/datetime/utils/manipulation.js +274 -274
  448. package/dist/collection/components/datetime/utils/parse.js +139 -139
  449. package/dist/collection/components/datetime/utils/state.js +123 -123
  450. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  451. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  452. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  453. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  454. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  455. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  456. package/dist/collection/components/fab/fab.js +179 -179
  457. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  458. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  459. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +25 -25
  460. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  461. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  462. package/dist/collection/components/fab-button/fab-button.js +374 -374
  463. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  464. package/dist/collection/components/fab-list/fab-list.js +79 -79
  465. package/dist/collection/components/footer/footer.js +135 -135
  466. package/dist/collection/components/footer/footer.utils.js +25 -25
  467. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  468. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  469. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  470. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  471. package/dist/collection/components/grid/grid.js +44 -44
  472. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  473. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  474. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  475. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  476. package/dist/collection/components/header/header.js +181 -181
  477. package/dist/collection/components/header/header.utils.js +148 -148
  478. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  479. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  480. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  481. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  482. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  483. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  484. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  485. package/dist/collection/components/img/img.js +177 -177
  486. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  487. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  488. package/dist/collection/components/infinite-scroll/infinite-scroll.js +271 -271
  489. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  490. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  491. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  492. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  493. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +26 -26
  494. package/dist/collection/components/input/input.js +1204 -1204
  495. package/dist/collection/components/input/input.utils.js +22 -22
  496. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  497. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  498. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  499. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  500. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +25 -25
  501. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  502. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  503. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  504. package/dist/collection/components/input/test/input.e2e.js +6 -6
  505. package/dist/collection/components/input/test/input.spec.js +54 -54
  506. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  507. package/dist/collection/components/input/test/item/input.spec.js +12 -12
  508. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  509. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  510. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  511. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  512. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  513. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  514. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  515. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  516. package/dist/collection/components/item/item.js +615 -615
  517. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  518. package/dist/collection/components/item/test/a11y/item.spec.js +21 -21
  519. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  520. package/dist/collection/components/item/test/basic/item.e2e.js +15 -15
  521. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  522. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  523. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  524. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  525. package/dist/collection/components/item/test/disabled/item.e2e.js +7 -7
  526. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  527. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  528. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  529. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  530. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  531. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  532. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  533. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  534. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  535. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  536. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  537. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  538. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  539. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  540. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  541. package/dist/collection/components/item/test/text/item.e2e.js +6 -6
  542. package/dist/collection/components/item-divider/item-divider.js +71 -71
  543. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  544. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +25 -25
  545. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  546. package/dist/collection/components/item-group/item-group.js +22 -22
  547. package/dist/collection/components/item-option/item-option.js +197 -197
  548. package/dist/collection/components/item-options/item-options.js +110 -110
  549. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  550. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  551. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  552. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +87 -87
  553. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  554. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  555. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  556. package/dist/collection/components/label/label.js +174 -174
  557. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  558. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  559. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  560. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  561. package/dist/collection/components/list/list.js +101 -101
  562. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  563. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  564. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  565. package/dist/collection/components/list/test/lines/list.e2e.js +40 -40
  566. package/dist/collection/components/list-header/list-header.js +69 -69
  567. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  568. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -14
  569. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  570. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  571. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  572. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  573. package/dist/collection/components/loading/loading.js +730 -720
  574. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  575. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  576. package/dist/collection/components/loading/test/basic/loading.spec.js +7 -7
  577. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  578. package/dist/collection/components/loading/test/loading-id.spec.js +25 -25
  579. package/dist/collection/components/loading/test/loading.spec.js +26 -26
  580. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  581. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  582. package/dist/collection/components/menu/menu.js +956 -956
  583. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  584. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  585. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  586. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  587. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  588. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  589. package/dist/collection/components/menu-button/menu-button.js +173 -173
  590. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  591. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  592. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  593. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  594. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  595. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  596. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  597. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  598. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  599. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  600. package/dist/collection/components/modal/animations/sheet.js +43 -43
  601. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  602. package/dist/collection/components/modal/gestures/swipe-to-close.js +247 -247
  603. package/dist/collection/components/modal/gestures/utils.js +39 -39
  604. package/dist/collection/components/modal/modal.js +1290 -1280
  605. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  606. package/dist/collection/components/modal/test/a11y/modal.spec.js +12 -12
  607. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  608. package/dist/collection/components/modal/test/basic/modal.spec.js +7 -7
  609. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  610. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  611. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  612. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +172 -172
  613. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  614. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  615. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  616. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  617. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  618. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  619. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  620. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  621. package/dist/collection/components/modal/test/fixtures.js +21 -21
  622. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  623. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  624. package/dist/collection/components/modal/test/modal-id.spec.js +25 -25
  625. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  626. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  627. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  628. package/dist/collection/components/modal/utils.js +55 -55
  629. package/dist/collection/components/modal/utils.spec.js +7 -7
  630. package/dist/collection/components/nav/nav.js +1748 -1748
  631. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  632. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  633. package/dist/collection/components/nav/test/nav-controller.spec.js +735 -735
  634. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  635. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  636. package/dist/collection/components/nav/view-controller.js +52 -52
  637. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  638. package/dist/collection/components/nav-link/nav-link.js +106 -106
  639. package/dist/collection/components/note/note.js +49 -49
  640. package/dist/collection/components/note/test/a11y/note.e2e.js +16 -16
  641. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  642. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  643. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  644. package/dist/collection/components/picker/picker.js +782 -772
  645. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  646. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  647. package/dist/collection/components/picker/test/picker-id.spec.js +25 -25
  648. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  649. package/dist/collection/components/picker-column/picker-column.js +377 -377
  650. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +21 -21
  651. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +20 -20
  652. package/dist/collection/components/picker-column/test/picker-column.spec.js +8 -8
  653. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  654. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  655. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -523
  656. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  657. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +54 -54
  658. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  659. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  660. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -76
  661. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  662. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  663. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  664. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  665. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  666. package/dist/collection/components/popover/popover.js +1189 -1179
  667. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  668. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  669. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  670. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  671. package/dist/collection/components/popover/test/basic/popover.spec.js +7 -7
  672. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  673. package/dist/collection/components/popover/test/fixture.js +16 -16
  674. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  675. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  676. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  677. package/dist/collection/components/popover/test/popover-id.spec.js +25 -25
  678. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  679. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  680. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  681. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  682. package/dist/collection/components/popover/test/test.utils.js +23 -23
  683. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  684. package/dist/collection/components/popover/test/util.spec.js +39 -39
  685. package/dist/collection/components/popover/utils.js +606 -606
  686. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  687. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  688. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  689. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  690. package/dist/collection/components/radio/radio.js +448 -448
  691. package/dist/collection/components/radio/test/a11y/radio.e2e.js +40 -40
  692. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  693. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  694. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  695. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  696. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  697. package/dist/collection/components/radio/test/radio.spec.js +26 -26
  698. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  699. package/dist/collection/components/radio-group/radio-group.js +255 -255
  700. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  701. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  702. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  703. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  704. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  705. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  706. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  707. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  708. package/dist/collection/components/range/range.js +998 -998
  709. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  710. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  711. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  712. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  713. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  714. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  715. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  716. package/dist/collection/components/range/test/label/range.spec.js +11 -11
  717. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  718. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  719. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  720. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  721. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  722. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  723. package/dist/collection/components/range/test/range.spec.js +141 -141
  724. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  725. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  726. package/dist/collection/components/refresher/refresher.js +806 -806
  727. package/dist/collection/components/refresher/refresher.utils.js +148 -148
  728. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  729. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  730. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  731. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  732. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +35 -35
  733. package/dist/collection/components/reorder/reorder.js +37 -37
  734. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  735. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  736. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  737. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  738. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  739. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  740. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  741. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  742. package/dist/collection/components/route/route.js +151 -151
  743. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  744. package/dist/collection/components/router/router.js +472 -472
  745. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  746. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  747. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  748. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  749. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  750. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  751. package/dist/collection/components/router/test/matching.spec.js +227 -227
  752. package/dist/collection/components/router/test/parser.spec.js +119 -119
  753. package/dist/collection/components/router/test/path.spec.js +199 -199
  754. package/dist/collection/components/router/test/router.spec.js +41 -41
  755. package/dist/collection/components/router/utils/debug.js +14 -14
  756. package/dist/collection/components/router/utils/dom.js +56 -56
  757. package/dist/collection/components/router/utils/matching.js +150 -150
  758. package/dist/collection/components/router/utils/parser.js +52 -52
  759. package/dist/collection/components/router/utils/path.js +66 -66
  760. package/dist/collection/components/router-link/router-link.js +157 -157
  761. package/dist/collection/components/router-outlet/router-outlet.js +458 -458
  762. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  763. package/dist/collection/components/row/row.js +15 -15
  764. package/dist/collection/components/searchbar/searchbar.js +889 -889
  765. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  766. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +101 -101
  767. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  768. package/dist/collection/components/searchbar/test/searchbar.spec.js +7 -7
  769. package/dist/collection/components/segment/segment.js +631 -631
  770. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  771. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  772. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  773. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  774. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  775. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  776. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  777. package/dist/collection/components/segment/test/segment.spec.js +18 -18
  778. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  779. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  780. package/dist/collection/components/segment-button/segment-button.js +217 -217
  781. package/dist/collection/components/select/select.js +1179 -1179
  782. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  783. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  784. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  785. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  786. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  787. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  788. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  789. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  790. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  791. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  792. package/dist/collection/components/select/test/item/select.e2e.js +11 -11
  793. package/dist/collection/components/select/test/label/select.e2e.js +140 -140
  794. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  795. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  796. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  797. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  798. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  799. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  800. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  801. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +16 -16
  802. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  803. package/dist/collection/components/select/test/select.spec.js +41 -41
  804. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  805. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  806. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  807. package/dist/collection/components/select-option/select-option.js +60 -60
  808. package/dist/collection/components/select-popover/select-popover.js +197 -197
  809. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  810. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  811. package/dist/collection/components/skeleton-text/skeleton-text.js +48 -48
  812. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  813. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  814. package/dist/collection/components/slides/IonicSlides.js +95 -95
  815. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  816. package/dist/collection/components/spinner/spinner.js +137 -137
  817. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  818. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  819. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  820. package/dist/collection/components/split-pane/split-pane.js +225 -225
  821. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  822. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +23 -23
  823. package/dist/collection/components/tab/tab.js +170 -170
  824. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  825. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +8 -8
  826. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  827. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  828. package/dist/collection/components/tab-button/tab-button.js +267 -267
  829. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  830. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  831. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  832. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  833. package/dist/collection/components/tabs/tabs.js +344 -344
  834. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  835. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  836. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  837. package/dist/collection/components/text/text.js +47 -47
  838. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  839. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  840. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  841. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  842. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +17 -17
  843. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  844. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  845. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  846. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  847. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  848. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  849. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  850. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  851. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  852. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  853. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  854. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  855. package/dist/collection/components/textarea/test/textarea.spec.js +32 -32
  856. package/dist/collection/components/textarea/textarea.js +1019 -1019
  857. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  858. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  859. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  860. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  861. package/dist/collection/components/title/title.js +119 -119
  862. package/dist/collection/components/toast/animations/ios.enter.js +20 -20
  863. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  864. package/dist/collection/components/toast/animations/md.enter.js +22 -22
  865. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  866. package/dist/collection/components/toast/animations/utils.js +52 -52
  867. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  868. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  869. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  870. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  871. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  872. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  873. package/dist/collection/components/toast/test/toast-id.spec.js +25 -25
  874. package/dist/collection/components/toast/test/toast.spec.js +85 -85
  875. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  876. package/dist/collection/components/toast/toast.js +961 -951
  877. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  878. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  879. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  880. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  881. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  882. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  883. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  884. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  885. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  886. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  887. package/dist/collection/components/toggle/test/toggle.spec.js +40 -40
  888. package/dist/collection/components/toggle/toggle.js +484 -484
  889. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  890. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  891. package/dist/collection/components/toolbar/toolbar.js +100 -100
  892. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  893. package/dist/collection/global/config.js +51 -51
  894. package/dist/collection/global/ionic-global.js +54 -54
  895. package/dist/collection/global/test/config-controller.spec.js +68 -68
  896. package/dist/collection/utils/animation/animation-utils.js +91 -91
  897. package/dist/collection/utils/animation/animation.js +905 -905
  898. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  899. package/dist/collection/utils/animation/test/animation.spec.js +412 -412
  900. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  901. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  902. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  903. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  904. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  905. package/dist/collection/utils/config.js +20 -20
  906. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  907. package/dist/collection/utils/content/index.js +58 -58
  908. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  909. package/dist/collection/utils/floating-point/index.js +5 -5
  910. package/dist/collection/utils/focus-visible.js +63 -63
  911. package/dist/collection/utils/forms/form-controller.js +45 -45
  912. package/dist/collection/utils/forms/notch-controller.js +120 -120
  913. package/dist/collection/utils/framework-delegate.js +121 -121
  914. package/dist/collection/utils/gesture/button-active.js +56 -56
  915. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  916. package/dist/collection/utils/gesture/index.js +222 -222
  917. package/dist/collection/utils/gesture/listener.js +36 -36
  918. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  919. package/dist/collection/utils/gesture/recognizers.js +46 -46
  920. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  921. package/dist/collection/utils/hardware-back-button.js +48 -48
  922. package/dist/collection/utils/helpers.js +258 -258
  923. package/dist/collection/utils/helpers.spec.js +28 -28
  924. package/dist/collection/utils/input-shims/hacks/common.js +61 -61
  925. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  926. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  927. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  928. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  929. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  930. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  931. package/dist/collection/utils/input-shims/input-shims.js +82 -82
  932. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  933. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  934. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +15 -15
  935. package/dist/collection/utils/keyboard/test/keyboard.spec.js +193 -193
  936. package/dist/collection/utils/lock-controller.js +24 -24
  937. package/dist/collection/utils/logging/index.js +3 -3
  938. package/dist/collection/utils/media.js +13 -13
  939. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  940. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  941. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  942. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  943. package/dist/collection/utils/menu-controller/index.js +205 -205
  944. package/dist/collection/utils/native/capacitor.js +4 -4
  945. package/dist/collection/utils/native/haptic.js +151 -151
  946. package/dist/collection/utils/native/keyboard.js +47 -47
  947. package/dist/collection/utils/native/native-interface.js +15 -15
  948. package/dist/collection/utils/native/status-bar.js +36 -36
  949. package/dist/collection/utils/overlays.js +494 -494
  950. package/dist/collection/utils/platform.js +56 -56
  951. package/dist/collection/utils/rtl/dir.js +5 -5
  952. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  953. package/dist/collection/utils/sanitization/index.js +122 -122
  954. package/dist/collection/utils/sanitization/test/sanitization.spec.js +35 -35
  955. package/dist/collection/utils/slot-mutation-controller.js +84 -84
  956. package/dist/collection/utils/status-tap.js +26 -26
  957. package/dist/collection/utils/tap-click/index.js +171 -171
  958. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  959. package/dist/collection/utils/test/aria.spec.js +47 -47
  960. package/dist/collection/utils/test/attributes.spec.js +40 -40
  961. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  962. package/dist/collection/utils/test/hardware-back-button.spec.js +41 -41
  963. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  964. package/dist/collection/utils/test/overlays/overlays.spec.js +68 -68
  965. package/dist/collection/utils/test/platform.spec.js +123 -123
  966. package/dist/collection/utils/test/platform.utils.js +77 -77
  967. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  968. package/dist/collection/utils/test/playwright/generator.js +48 -25
  969. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  970. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  971. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  972. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  973. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  974. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  975. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  976. package/dist/collection/utils/test/playwright/page/utils/set-content.js +42 -34
  977. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  978. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  979. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  980. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  981. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  982. package/dist/collection/utils/test/press-keys.js +77 -77
  983. package/dist/collection/utils/test/ready.spec.js +31 -31
  984. package/dist/collection/utils/test/theme.spec.js +46 -46
  985. package/dist/collection/utils/theme.js +23 -23
  986. package/dist/collection/utils/transition/index.js +163 -163
  987. package/dist/collection/utils/transition/ios.transition.js +598 -598
  988. package/dist/collection/utils/transition/md.transition.js +44 -44
  989. package/dist/collection/utils/watch-options.js +30 -30
  990. package/dist/docs.json +2 -2
  991. package/dist/esm/animation-fb0e0f6f.js +1059 -0
  992. package/dist/esm/{app-globals-2398e405.js → app-globals-c23144fc.js} +1 -1
  993. package/dist/esm/button-active-7013b5a1.js +67 -0
  994. package/dist/esm/{capacitor-b4979570.js → capacitor-b0e5fe83.js} +4 -4
  995. package/dist/esm/config-49c88215.js +193 -0
  996. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  997. package/dist/esm/data-f5c75b4e.js +1575 -0
  998. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  999. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1000. package/dist/esm/form-controller-548aa79c.js +64 -0
  1001. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1002. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1003. package/dist/esm/haptic-152c4172.js +206 -0
  1004. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1005. package/dist/esm/helpers-ae653409.js +418 -0
  1006. package/dist/esm/index-2cf77112.js +457 -0
  1007. package/dist/esm/{index-7c9b1bca.js → index-39329c6f.js} +19 -6
  1008. package/dist/esm/index-7a818ed3.js +308 -0
  1009. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1010. package/dist/esm/{index-4392efa5.js → index-b9e742e5.js} +60 -60
  1011. package/dist/esm/index-ba9976bb.js +196 -0
  1012. package/dist/esm/index-bebaae5d.js +231 -0
  1013. package/dist/esm/index.js +112 -112
  1014. package/dist/esm/input-shims-0a2e541d.js +594 -0
  1015. package/dist/esm/input.utils-2846d430.js +134 -0
  1016. package/dist/esm/ion-accordion_2.entry.js +488 -488
  1017. package/dist/esm/ion-action-sheet.entry.js +259 -249
  1018. package/dist/esm/ion-alert.entry.js +439 -429
  1019. package/dist/esm/ion-app_8.entry.js +1149 -1149
  1020. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1021. package/dist/esm/ion-back-button.entry.js +73 -73
  1022. package/dist/esm/ion-backdrop.entry.js +40 -40
  1023. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1024. package/dist/esm/ion-button_2.entry.js +303 -303
  1025. package/dist/esm/ion-card_5.entry.js +105 -105
  1026. package/dist/esm/ion-checkbox.entry.js +145 -145
  1027. package/dist/esm/ion-chip.entry.js +20 -20
  1028. package/dist/esm/ion-col_3.entry.js +136 -136
  1029. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1030. package/dist/esm/ion-datetime_3.entry.js +2182 -2172
  1031. package/dist/esm/ion-fab_3.entry.js +150 -150
  1032. package/dist/esm/ion-img.entry.js +79 -79
  1033. package/dist/esm/ion-infinite-scroll_2.entry.js +190 -190
  1034. package/dist/esm/ion-input.entry.js +396 -396
  1035. package/dist/esm/ion-item-option_3.entry.js +457 -457
  1036. package/dist/esm/ion-item_8.entry.js +425 -425
  1037. package/dist/esm/ion-loading.entry.js +219 -209
  1038. package/dist/esm/ion-menu_3.entry.js +667 -667
  1039. package/dist/esm/ion-modal.entry.js +1414 -1404
  1040. package/dist/esm/ion-nav_2.entry.js +904 -904
  1041. package/dist/esm/ion-picker-column-internal.entry.js +328 -328
  1042. package/dist/esm/ion-picker-internal.entry.js +453 -453
  1043. package/dist/esm/ion-popover.entry.js +1107 -1097
  1044. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1045. package/dist/esm/ion-radio_2.entry.js +314 -314
  1046. package/dist/esm/ion-range.entry.js +554 -554
  1047. package/dist/esm/ion-refresher_2.entry.js +785 -785
  1048. package/dist/esm/ion-reorder_2.entry.js +266 -266
  1049. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1050. package/dist/esm/ion-route_4.entry.js +693 -693
  1051. package/dist/esm/ion-searchbar.entry.js +358 -358
  1052. package/dist/esm/ion-segment_2.entry.js +507 -507
  1053. package/dist/esm/ion-select_3.entry.js +761 -761
  1054. package/dist/esm/ion-spinner.entry.js +46 -46
  1055. package/dist/esm/ion-split-pane.entry.js +117 -117
  1056. package/dist/esm/ion-tab-bar_2.entry.js +137 -137
  1057. package/dist/esm/ion-tab_2.entry.js +187 -187
  1058. package/dist/esm/ion-text.entry.js +13 -13
  1059. package/dist/esm/ion-textarea.entry.js +350 -350
  1060. package/dist/esm/ion-toast.entry.js +404 -394
  1061. package/dist/esm/ion-toggle.entry.js +222 -222
  1062. package/dist/esm/ionic-global-6c78e871.js +224 -0
  1063. package/dist/esm/ionic.js +5 -5
  1064. package/dist/esm/ios.transition-daa373e9.js +651 -0
  1065. package/dist/esm/keyboard-c402e885.js +146 -0
  1066. package/dist/esm/keyboard-controller-5d90929a.js +165 -0
  1067. package/dist/esm/keyboard-dbb05fb9.js +79 -0
  1068. package/dist/esm/loader.js +4 -4
  1069. package/dist/esm/lock-controller-316928be.js +38 -0
  1070. package/dist/esm/md.transition-91c3d3cc.js +57 -0
  1071. package/dist/esm/notch-controller-d09b6aca.js +153 -0
  1072. package/dist/esm/overlays-64e67e2c.js +692 -0
  1073. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1074. package/dist/esm/status-tap-9dd45200.js +40 -0
  1075. package/dist/esm/swipe-back-a6f386fc.js +79 -0
  1076. package/dist/esm/theme-01f3f29c.js +43 -0
  1077. package/dist/esm/watch-options-c2911ace.js +47 -0
  1078. package/dist/esm-es5/{animation-8aa13916.js → animation-fb0e0f6f.js} +1 -1
  1079. package/dist/esm-es5/app-globals-c23144fc.js +4 -0
  1080. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-7013b5a1.js} +1 -1
  1081. package/dist/esm-es5/{data-44d9e816.js → data-f5c75b4e.js} +1 -1
  1082. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-548aa79c.js} +1 -1
  1083. package/dist/esm-es5/{framework-delegate-aa433dea.js → framework-delegate-bc1fd82a.js} +1 -1
  1084. package/dist/esm-es5/{haptic-1243b917.js → haptic-152c4172.js} +1 -1
  1085. package/dist/esm-es5/{index-ff313b19.js → index-2cf77112.js} +1 -1
  1086. package/dist/esm-es5/{index-7c9b1bca.js → index-39329c6f.js} +1 -1
  1087. package/dist/esm-es5/{index-0aa6e61f.js → index-7a818ed3.js} +1 -1
  1088. package/dist/esm-es5/{index-4392efa5.js → index-b9e742e5.js} +1 -1
  1089. package/dist/esm-es5/{index-f0cc4e14.js → index-ba9976bb.js} +1 -1
  1090. package/dist/esm-es5/{index-6a0ccabb.js → index-bebaae5d.js} +1 -1
  1091. package/dist/esm-es5/index.js +1 -1
  1092. package/dist/esm-es5/{input-shims-d0c93e5d.js → input-shims-0a2e541d.js} +1 -1
  1093. package/dist/esm-es5/{input.utils-ec063df4.js → input.utils-2846d430.js} +1 -1
  1094. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1095. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1096. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1097. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1098. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1099. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1100. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1101. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1102. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1103. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1104. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1105. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1106. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1107. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1108. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1109. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1110. package/dist/esm-es5/ion-img.entry.js +1 -1
  1111. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1112. package/dist/esm-es5/ion-input.entry.js +1 -1
  1113. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1114. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1115. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1116. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1117. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1118. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1119. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1120. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1121. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1122. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1123. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1124. package/dist/esm-es5/ion-range.entry.js +1 -1
  1125. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1126. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1127. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1128. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1129. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1130. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1131. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1132. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1133. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1134. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1135. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1136. package/dist/esm-es5/ion-text.entry.js +1 -1
  1137. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1138. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1139. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1140. package/dist/esm-es5/{ionic-global-40e42e7f.js → ionic-global-6c78e871.js} +1 -1
  1141. package/dist/esm-es5/ionic.js +1 -1
  1142. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-daa373e9.js} +1 -1
  1143. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-c402e885.js} +1 -1
  1144. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-5d90929a.js} +1 -1
  1145. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-dbb05fb9.js} +1 -1
  1146. package/dist/esm-es5/loader.js +1 -1
  1147. package/dist/esm-es5/md.transition-91c3d3cc.js +4 -0
  1148. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-d09b6aca.js} +1 -1
  1149. package/dist/esm-es5/{overlays-6c9feb7e.js → overlays-64e67e2c.js} +1 -1
  1150. package/dist/esm-es5/{status-tap-9ce68758.js → status-tap-9dd45200.js} +1 -1
  1151. package/dist/esm-es5/{swipe-back-0f3bfc8e.js → swipe-back-a6f386fc.js} +1 -1
  1152. package/dist/ionic/index.esm.js +1 -1
  1153. package/dist/ionic/ionic.esm.js +1 -1
  1154. package/dist/ionic/ionic.js +15 -15
  1155. package/dist/ionic/p-013013a3.js +4 -0
  1156. package/dist/ionic/{p-c4042875.system.js → p-0263eb49.system.js} +1 -1
  1157. package/dist/ionic/{p-800ef057.js → p-06600f70.js} +1 -1
  1158. package/dist/ionic/{p-cf425ec5.system.entry.js → p-0827d00e.system.entry.js} +1 -1
  1159. package/dist/ionic/p-12cdcb59.js +5 -0
  1160. package/dist/ionic/{p-744973f3.entry.js → p-161d0916.entry.js} +1 -1
  1161. package/dist/ionic/{p-a936d224.system.js → p-1631b52f.system.js} +1 -1
  1162. package/dist/ionic/{p-b0cee324.entry.js → p-18032a93.entry.js} +1 -1
  1163. package/dist/ionic/{p-beb64be7.system.entry.js → p-19545a49.system.entry.js} +1 -1
  1164. package/dist/ionic/{p-174f3446.entry.js → p-1c6c6098.entry.js} +1 -1
  1165. package/dist/ionic/{p-ff5144f3.system.entry.js → p-1cbc21e2.system.entry.js} +1 -1
  1166. package/dist/ionic/{p-0a794e83.entry.js → p-1ff22253.entry.js} +1 -1
  1167. package/dist/ionic/{p-6c3d5383.js → p-21f015cf.js} +1 -1
  1168. package/dist/ionic/{p-b2a74a72.entry.js → p-22c6adfa.entry.js} +1 -1
  1169. package/dist/ionic/{p-4cd588b3.system.entry.js → p-23a27e78.system.entry.js} +1 -1
  1170. package/dist/ionic/{p-a5c1e6ce.entry.js → p-2507b0c0.entry.js} +1 -1
  1171. package/dist/ionic/{p-3ce8c3e3.entry.js → p-2657f213.entry.js} +1 -1
  1172. package/dist/ionic/{p-db5043df.system.entry.js → p-27a5f2c7.system.entry.js} +1 -1
  1173. package/dist/ionic/p-27e6473f.entry.js +4 -0
  1174. package/dist/ionic/{p-3fb57e1b.system.entry.js → p-2a7e6572.system.entry.js} +1 -1
  1175. package/dist/ionic/{p-bed722c4.system.entry.js → p-2ac9d078.system.entry.js} +1 -1
  1176. package/dist/ionic/{p-17240d90.js → p-2aea8b1e.js} +1 -1
  1177. package/dist/ionic/{p-1a8ae7a7.system.entry.js → p-2cd9cb80.system.entry.js} +1 -1
  1178. package/dist/ionic/{p-97c65aa5.js → p-2d5aeccc.js} +1 -1
  1179. package/dist/ionic/{p-67eecef4.system.js → p-2d600c25.system.js} +1 -1
  1180. package/dist/ionic/{p-ab4cff27.system.js → p-304383f9.system.js} +1 -1
  1181. package/dist/ionic/{p-276afddd.js → p-308e1341.js} +1 -1
  1182. package/dist/ionic/{p-c7d30db9.entry.js → p-312221db.entry.js} +1 -1
  1183. package/dist/ionic/{p-39044fe6.system.entry.js → p-315ad733.system.entry.js} +1 -1
  1184. package/dist/ionic/{p-fa8d4788.system.js → p-31b2326e.system.js} +1 -1
  1185. package/dist/ionic/{p-41477ad9.system.js → p-32e19bee.system.js} +1 -1
  1186. package/dist/ionic/p-33f3cd49.entry.js +4 -0
  1187. package/dist/ionic/{p-41122cd6.system.js → p-34d6f520.system.js} +1 -1
  1188. package/dist/ionic/{p-8ad82eb3.entry.js → p-3535a36c.entry.js} +1 -1
  1189. package/dist/ionic/p-35ce400e.system.js +4 -0
  1190. package/dist/ionic/{p-55ed230e.system.js → p-38c337e7.system.js} +1 -1
  1191. package/dist/ionic/{p-d21bfe66.system.entry.js → p-3acad8ff.system.entry.js} +1 -1
  1192. package/dist/ionic/{p-48d9faa7.entry.js → p-3cb5466e.entry.js} +1 -1
  1193. package/dist/ionic/{p-0dc0d9b5.entry.js → p-3f5ae764.entry.js} +1 -1
  1194. package/dist/ionic/{p-77e7a9c8.entry.js → p-405f1a72.entry.js} +1 -1
  1195. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1196. package/dist/ionic/{p-67e644bd.system.entry.js → p-41f7af3f.system.entry.js} +1 -1
  1197. package/dist/ionic/{p-dfa756ed.system.js → p-426bdba9.system.js} +1 -1
  1198. package/dist/ionic/{p-ddfc4ef4.system.entry.js → p-45db7949.system.entry.js} +1 -1
  1199. package/dist/ionic/p-46dbd723.entry.js +4 -0
  1200. package/dist/ionic/{p-419eb426.js → p-4e8e09e1.js} +1 -1
  1201. package/dist/ionic/{p-a6d83a03.system.entry.js → p-4f71a9cf.system.entry.js} +1 -1
  1202. package/dist/ionic/{p-ed636a74.entry.js → p-53a3283e.entry.js} +1 -1
  1203. package/dist/ionic/{p-6d812360.system.entry.js → p-57c0d5bf.system.entry.js} +1 -1
  1204. package/dist/ionic/{p-f54ddd19.entry.js → p-58dd7c15.entry.js} +1 -1
  1205. package/dist/ionic/{p-a545b4f1.system.js → p-58ff9e5b.system.js} +1 -1
  1206. package/dist/ionic/{p-67ed452a.system.entry.js → p-5a7d5905.system.entry.js} +1 -1
  1207. package/dist/ionic/{p-7ab6fc5a.system.entry.js → p-5c7f13cd.system.entry.js} +1 -1
  1208. package/dist/ionic/{p-6e23777e.system.entry.js → p-5f127075.system.entry.js} +1 -1
  1209. package/dist/ionic/{p-b1142133.entry.js → p-5f46d93e.entry.js} +1 -1
  1210. package/dist/ionic/{p-a8e68fd9.entry.js → p-5fb707e0.entry.js} +1 -1
  1211. package/dist/ionic/{p-b923f3d7.js → p-643a8fae.js} +1 -1
  1212. package/dist/ionic/{p-1e86a71b.entry.js → p-64af4468.entry.js} +1 -1
  1213. package/dist/ionic/p-66d633fb.js +4 -0
  1214. package/dist/ionic/{p-b6f8ee31.entry.js → p-6744eca5.entry.js} +1 -1
  1215. package/dist/ionic/{p-14aca3fb.entry.js → p-67598744.entry.js} +1 -1
  1216. package/dist/ionic/p-6a6477b2.js +4 -0
  1217. package/dist/ionic/{p-8cf94fc1.js → p-6c37f051.js} +1 -1
  1218. package/dist/ionic/{p-7176cea3.entry.js → p-6cf08720.entry.js} +1 -1
  1219. package/dist/ionic/{p-965677f1.entry.js → p-70ecb18b.entry.js} +1 -1
  1220. package/dist/ionic/{p-73411c1b.entry.js → p-71d986ae.entry.js} +1 -1
  1221. package/dist/ionic/{p-957601e8.system.entry.js → p-742e11cf.system.entry.js} +1 -1
  1222. package/dist/ionic/{p-14b4348c.system.js → p-7484b1d6.system.js} +1 -1
  1223. package/dist/ionic/{p-3bad5c1a.js → p-75445583.js} +1 -1
  1224. package/dist/ionic/{p-8a308596.system.js → p-7798c78a.system.js} +2 -2
  1225. package/dist/ionic/{p-664d2b07.system.entry.js → p-7ae5ca1f.system.entry.js} +1 -1
  1226. package/dist/ionic/{p-5da0eb3e.system.entry.js → p-8261be6c.system.entry.js} +1 -1
  1227. package/dist/ionic/{p-b8c3f071.system.js → p-82e3d633.system.js} +1 -1
  1228. package/dist/ionic/p-83af3685.system.js +4 -0
  1229. package/dist/ionic/{p-18e01b30.system.entry.js → p-83fada9e.system.entry.js} +1 -1
  1230. package/dist/ionic/p-856c430d.js +4 -0
  1231. package/dist/ionic/{p-e76a4bc8.entry.js → p-86c2bbc8.entry.js} +1 -1
  1232. package/dist/ionic/{p-613d4042.system.js → p-888db766.system.js} +1 -1
  1233. package/dist/ionic/{p-92800752.entry.js → p-89026d53.entry.js} +1 -1
  1234. package/dist/ionic/{p-f3c82f74.system.entry.js → p-89cfbc88.system.entry.js} +2 -2
  1235. package/dist/ionic/{p-c919498d.entry.js → p-8a10752d.entry.js} +1 -1
  1236. package/dist/ionic/{p-abacb44b.system.entry.js → p-8a75f7bf.system.entry.js} +1 -1
  1237. package/dist/ionic/{p-d3952bd5.system.entry.js → p-8c202d6e.system.entry.js} +1 -1
  1238. package/dist/ionic/{p-e8400078.system.entry.js → p-90db28f8.system.entry.js} +1 -1
  1239. package/dist/ionic/{p-9b89cbde.js → p-91f9e81b.js} +1 -1
  1240. package/dist/ionic/{p-4c80afe1.system.entry.js → p-93dac17a.system.entry.js} +1 -1
  1241. package/dist/ionic/{p-b4b4bb29.system.js → p-95c26010.system.js} +1 -1
  1242. package/dist/ionic/{p-0330f0a3.system.entry.js → p-98ac0e27.system.entry.js} +2 -2
  1243. package/dist/ionic/{p-bba2ce59.system.js → p-98d82c73.system.js} +1 -1
  1244. package/dist/ionic/p-990ffd0e.js +4 -0
  1245. package/dist/ionic/{p-a21b8d05.entry.js → p-99fe0543.entry.js} +1 -1
  1246. package/dist/ionic/{p-f5a750e4.system.entry.js → p-9f376964.system.entry.js} +1 -1
  1247. package/dist/ionic/{p-c7b8c2ef.system.entry.js → p-a0945c3a.system.entry.js} +1 -1
  1248. package/dist/ionic/{p-07d9e9cd.system.entry.js → p-a0db3de9.system.entry.js} +1 -1
  1249. package/dist/ionic/p-a1b4dba7.entry.js +4 -0
  1250. package/dist/ionic/{p-64ed03a3.entry.js → p-a3a145d3.entry.js} +1 -1
  1251. package/dist/ionic/{p-af016cd3.entry.js → p-a5c81b99.entry.js} +1 -1
  1252. package/dist/ionic/{p-8b29691f.entry.js → p-a70b5d24.entry.js} +1 -1
  1253. package/dist/ionic/{p-4a142496.system.entry.js → p-a843a90e.system.entry.js} +1 -1
  1254. package/dist/ionic/{p-0e23256e.system.entry.js → p-a99f14a7.system.entry.js} +1 -1
  1255. package/dist/ionic/{p-5cfb3feb.system.entry.js → p-aac289d2.system.entry.js} +1 -1
  1256. package/dist/ionic/{p-702d85d8.system.js → p-abab375b.system.js} +1 -1
  1257. package/dist/ionic/{p-a0b6d438.js → p-ac4a7fc0.js} +1 -1
  1258. package/dist/ionic/{p-5d711127.js → p-acdd8148.js} +1 -1
  1259. package/dist/ionic/{p-34d2de14.system.entry.js → p-ad4d66ba.system.entry.js} +1 -1
  1260. package/dist/ionic/{p-09d142b3.system.js → p-ad78c421.system.js} +1 -1
  1261. package/dist/ionic/{p-d7ea6a0d.system.entry.js → p-ad953217.system.entry.js} +1 -1
  1262. package/dist/ionic/p-af959b5d.entry.js +4 -0
  1263. package/dist/ionic/{p-45da1e68.system.entry.js → p-b0fcf130.system.entry.js} +1 -1
  1264. package/dist/ionic/{p-b91fe549.entry.js → p-b11ceee2.entry.js} +1 -1
  1265. package/dist/ionic/{p-1e5165db.system.entry.js → p-b5e33ebc.system.entry.js} +1 -1
  1266. package/dist/ionic/{p-ffb876b0.system.entry.js → p-b81a8111.system.entry.js} +1 -1
  1267. package/dist/ionic/p-b8f2134e.js +4 -0
  1268. package/dist/ionic/{p-5bd4e009.entry.js → p-bbe3feee.entry.js} +1 -1
  1269. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-bc97b5cd.system.entry.js} +1 -1
  1270. package/dist/ionic/{p-7cee75c0.entry.js → p-c04accad.entry.js} +1 -1
  1271. package/dist/ionic/{p-40903d34.system.js → p-c5ae50be.system.js} +1 -1
  1272. package/dist/ionic/{p-377c636c.system.entry.js → p-ca32685b.system.entry.js} +1 -1
  1273. package/dist/ionic/p-cde72008.js +4 -0
  1274. package/dist/ionic/{p-29fe18ef.entry.js → p-d0251fc4.entry.js} +1 -1
  1275. package/dist/ionic/p-d1530ea9.entry.js +4 -0
  1276. package/dist/ionic/{p-63f08fe3.entry.js → p-d3e123c0.entry.js} +1 -1
  1277. package/dist/ionic/{p-ff5a10f9.system.js → p-d43f1f3d.system.js} +1 -1
  1278. package/dist/ionic/{p-9ab6f3e6.system.js → p-d9695ad9.system.js} +1 -1
  1279. package/dist/ionic/p-ddccf1f4.js +4 -0
  1280. package/dist/ionic/{p-352c0232.system.entry.js → p-df361680.system.entry.js} +1 -1
  1281. package/dist/ionic/{p-b906c5ca.entry.js → p-e145b9f9.entry.js} +1 -1
  1282. package/dist/ionic/{p-c0c81820.system.js → p-e26030f8.system.js} +1 -1
  1283. package/dist/ionic/{p-67e18f02.system.entry.js → p-e3c44332.system.entry.js} +1 -1
  1284. package/dist/ionic/{p-5deff017.entry.js → p-e4045e04.entry.js} +1 -1
  1285. package/dist/ionic/{p-f37b4b79.entry.js → p-e8e530fc.entry.js} +1 -1
  1286. package/dist/ionic/p-eab6401e.js +4 -0
  1287. package/dist/ionic/{p-a9c3699b.system.entry.js → p-edc5c693.system.entry.js} +1 -1
  1288. package/dist/ionic/{p-3de79805.entry.js → p-ee4a54e3.entry.js} +1 -1
  1289. package/dist/ionic/{p-1d269117.system.entry.js → p-eef8d7e8.system.entry.js} +1 -1
  1290. package/dist/ionic/{p-b203659a.system.entry.js → p-f0384573.system.entry.js} +1 -1
  1291. package/dist/ionic/{p-97e31c0a.system.js → p-f10de9d5.system.js} +1 -1
  1292. package/dist/ionic/{p-f4cc91f6.entry.js → p-f34d6a49.entry.js} +1 -1
  1293. package/dist/ionic/{p-778af3a7.entry.js → p-f444fea5.entry.js} +1 -1
  1294. package/dist/ionic/{p-3602001b.system.js → p-f54c72b0.system.js} +1 -1
  1295. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1296. package/dist/ionic/{p-d2597b3e.system.js → p-f8c5a0dd.system.js} +1 -1
  1297. package/dist/ionic/p-f967631d.js +4 -0
  1298. package/dist/ionic/{p-c56b6570.system.entry.js → p-fcf49977.system.entry.js} +1 -1
  1299. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1300. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1301. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1302. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1303. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1304. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1305. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1306. package/dist/types/components/alert/alert.d.ts +181 -181
  1307. package/dist/types/components/app/app.d.ts +15 -15
  1308. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1309. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1310. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1311. package/dist/types/components/badge/badge.d.ts +7 -7
  1312. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1313. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1314. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1315. package/dist/types/components/button/button.d.ts +121 -121
  1316. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1317. package/dist/types/components/card/card.d.ts +57 -57
  1318. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1319. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1320. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1321. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1322. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1323. package/dist/types/components/checkbox/checkbox.d.ts +111 -111
  1324. package/dist/types/components/chip/chip.d.ts +15 -15
  1325. package/dist/types/components/col/col.d.ts +128 -128
  1326. package/dist/types/components/content/content-interface.d.ts +6 -6
  1327. package/dist/types/components/content/content.d.ts +129 -129
  1328. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1329. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1330. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1331. package/dist/types/components/datetime/utils/manipulation.d.ts +25 -25
  1332. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1333. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1334. package/dist/types/components/fab/fab.d.ts +33 -33
  1335. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1336. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1337. package/dist/types/components/footer/footer.d.ts +27 -27
  1338. package/dist/types/components/grid/grid.d.ts +5 -5
  1339. package/dist/types/components/header/header.d.ts +31 -31
  1340. package/dist/types/components/header/header.utils.d.ts +7 -7
  1341. package/dist/types/components/img/img.d.ts +30 -30
  1342. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1343. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +58 -58
  1344. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1345. package/dist/types/components/input/input-interface.d.ts +6 -6
  1346. package/dist/types/components/input/input.d.ts +315 -315
  1347. package/dist/types/components/item/item.d.ts +111 -111
  1348. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1349. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1350. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1351. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1352. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1353. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1354. package/dist/types/components/label/label.d.ts +30 -30
  1355. package/dist/types/components/list/list.d.ts +17 -17
  1356. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1357. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1358. package/dist/types/components/loading/loading.d.ts +152 -152
  1359. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1360. package/dist/types/components/menu/menu.d.ts +140 -140
  1361. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1362. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1363. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1364. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1365. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1366. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1367. package/dist/types/components/modal/modal.d.ts +265 -265
  1368. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1369. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1370. package/dist/types/components/nav/nav.d.ts +247 -247
  1371. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1372. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1373. package/dist/types/components/note/note.d.ts +7 -7
  1374. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1375. package/dist/types/components/picker/picker.d.ts +149 -149
  1376. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1377. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1378. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -93
  1379. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1380. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1381. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1382. package/dist/types/components/popover/popover.d.ts +279 -279
  1383. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1384. package/dist/types/components/popover/utils.d.ts +25 -25
  1385. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1386. package/dist/types/components/radio/radio.d.ts +99 -99
  1387. package/dist/types/components/radio-group/radio-group-interface.d.ts +4 -4
  1388. package/dist/types/components/radio-group/radio-group.d.ts +43 -43
  1389. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1390. package/dist/types/components/range/range-interface.d.ts +7 -7
  1391. package/dist/types/components/range/range.d.ts +192 -192
  1392. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1393. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1394. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1395. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1396. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1397. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1398. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1399. package/dist/types/components/route/route-interface.d.ts +1 -1
  1400. package/dist/types/components/route/route.d.ts +43 -43
  1401. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1402. package/dist/types/components/router/router.d.ts +72 -72
  1403. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1404. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1405. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1406. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1407. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1408. package/dist/types/components/row/row.d.ts +1 -1
  1409. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1410. package/dist/types/components/searchbar/searchbar.d.ts +233 -233
  1411. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1412. package/dist/types/components/segment/segment.d.ts +82 -82
  1413. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1414. package/dist/types/components/select/select-interface.d.ts +3 -3
  1415. package/dist/types/components/select/select.d.ts +233 -233
  1416. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1417. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1418. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1419. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1420. package/dist/types/components/skeleton-text/skeleton-text.d.ts +6 -6
  1421. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1422. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1423. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1424. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1425. package/dist/types/components/tab/tab.d.ts +21 -21
  1426. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1427. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1428. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1429. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1430. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1431. package/dist/types/components/text/text.d.ts +7 -7
  1432. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1433. package/dist/types/components/textarea/textarea.d.ts +269 -269
  1434. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1435. package/dist/types/components/title/title.d.ts +21 -21
  1436. package/dist/types/components/toast/toast-interface.d.ts +35 -35
  1437. package/dist/types/components/toast/toast.d.ts +213 -213
  1438. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1439. package/dist/types/components/toggle/toggle.d.ts +116 -116
  1440. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1441. package/dist/types/global/config.d.ts +6 -6
  1442. package/dist/types/stencil-public-runtime.d.ts +8 -0
  1443. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1444. package/dist/types/utils/browser/index.d.ts +6 -6
  1445. package/dist/types/utils/config.d.ts +175 -175
  1446. package/dist/types/utils/element-interface.d.ts +6 -6
  1447. package/dist/types/utils/focus-visible.d.ts +2 -2
  1448. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1449. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1450. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1451. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1452. package/dist/types/utils/gesture/index.d.ts +31 -31
  1453. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1454. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1455. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1456. package/dist/types/utils/helpers.d.ts +8 -8
  1457. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1458. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1459. package/dist/types/utils/lock-controller.d.ts +1 -1
  1460. package/dist/types/utils/native/haptic.d.ts +38 -38
  1461. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1462. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1463. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1464. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1465. package/dist/types/utils/overlays.d.ts +28 -28
  1466. package/dist/types/utils/platform.d.ts +16 -16
  1467. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1468. package/dist/types/utils/slot-mutation-controller.d.ts +1 -1
  1469. package/dist/types/utils/test/platform.utils.d.ts +66 -66
  1470. package/dist/types/utils/test/playwright/generator.d.ts +16 -7
  1471. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1472. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1473. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1474. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1475. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1476. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1477. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1478. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1479. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1480. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1481. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1482. package/dist/types/utils/transition/index.d.ts +6 -6
  1483. package/dist/types/utils/watch-options.d.ts +1 -1
  1484. package/hydrate/index.js +29938 -29849
  1485. package/package.json +2 -2
  1486. package/dist/cjs/animation-1083855c.js +0 -1061
  1487. package/dist/cjs/button-active-af897e0e.js +0 -69
  1488. package/dist/cjs/config-d5882735.js +0 -199
  1489. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1490. package/dist/cjs/data-c8d21093.js +0 -1622
  1491. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1492. package/dist/cjs/form-controller-9343050c.js +0 -66
  1493. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1494. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1495. package/dist/cjs/haptic-678abc9f.js +0 -212
  1496. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1497. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1498. package/dist/cjs/index-0ee995e4.js +0 -459
  1499. package/dist/cjs/index-573877f3.js +0 -243
  1500. package/dist/cjs/index-9f379eaa.js +0 -198
  1501. package/dist/cjs/index-d7561763.js +0 -310
  1502. package/dist/cjs/input-shims-b0a75a01.js +0 -596
  1503. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1504. package/dist/cjs/ionic-global-ea2901a3.js +0 -230
  1505. package/dist/cjs/ios.transition-ac909bc8.js +0 -654
  1506. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1507. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1508. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1509. package/dist/cjs/md.transition-907af519.js +0 -59
  1510. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1511. package/dist/cjs/overlays-2ffc5f27.js +0 -714
  1512. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1513. package/dist/cjs/status-tap-3fb2391a.js +0 -42
  1514. package/dist/cjs/swipe-back-d0412fb6.js +0 -81
  1515. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1516. package/dist/cjs/watch-options-53bbb124.js +0 -49
  1517. package/dist/esm/animation-8aa13916.js +0 -1059
  1518. package/dist/esm/button-active-ce5cba4c.js +0 -67
  1519. package/dist/esm/config-96c9ace3.js +0 -193
  1520. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1521. package/dist/esm/data-44d9e816.js +0 -1575
  1522. package/dist/esm/focus-visible-85493433.js +0 -75
  1523. package/dist/esm/form-controller-64edeaad.js +0 -64
  1524. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1525. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1526. package/dist/esm/haptic-1243b917.js +0 -206
  1527. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1528. package/dist/esm/helpers-3379ba19.js +0 -418
  1529. package/dist/esm/index-0aa6e61f.js +0 -308
  1530. package/dist/esm/index-6a0ccabb.js +0 -231
  1531. package/dist/esm/index-f0cc4e14.js +0 -196
  1532. package/dist/esm/index-ff313b19.js +0 -457
  1533. package/dist/esm/input-shims-d0c93e5d.js +0 -594
  1534. package/dist/esm/input.utils-ec063df4.js +0 -134
  1535. package/dist/esm/ionic-global-40e42e7f.js +0 -224
  1536. package/dist/esm/ios.transition-1651c430.js +0 -651
  1537. package/dist/esm/keyboard-b063f012.js +0 -79
  1538. package/dist/esm/keyboard-b551279d.js +0 -146
  1539. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1540. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1541. package/dist/esm/md.transition-66f18369.js +0 -57
  1542. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1543. package/dist/esm/overlays-6c9feb7e.js +0 -692
  1544. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1545. package/dist/esm/status-tap-9ce68758.js +0 -40
  1546. package/dist/esm/swipe-back-0f3bfc8e.js +0 -79
  1547. package/dist/esm/theme-17531cdf.js +0 -43
  1548. package/dist/esm/watch-options-02d8498b.js +0 -47
  1549. package/dist/esm-es5/app-globals-2398e405.js +0 -4
  1550. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  1551. package/dist/ionic/p-0d8e9393.entry.js +0 -4
  1552. package/dist/ionic/p-114a36ed.js +0 -4
  1553. package/dist/ionic/p-1dc91702.entry.js +0 -4
  1554. package/dist/ionic/p-20cf4994.js +0 -4
  1555. package/dist/ionic/p-2e8e0045.js +0 -4
  1556. package/dist/ionic/p-3632220b.system.js +0 -4
  1557. package/dist/ionic/p-4fa201a7.entry.js +0 -4
  1558. package/dist/ionic/p-5370e786.js +0 -4
  1559. package/dist/ionic/p-64296b15.entry.js +0 -4
  1560. package/dist/ionic/p-67aab78f.js +0 -4
  1561. package/dist/ionic/p-73420380.js +0 -4
  1562. package/dist/ionic/p-81c818e7.js +0 -4
  1563. package/dist/ionic/p-8b1be026.js +0 -4
  1564. package/dist/ionic/p-8dbdb163.system.js +0 -4
  1565. package/dist/ionic/p-8e1bded3.entry.js +0 -4
  1566. package/dist/ionic/p-c224b9a9.js +0 -5
  1567. package/dist/ionic/p-d1de1188.js +0 -4
  1568. package/dist/ionic/p-deab76dc.entry.js +0 -4
  1569. package/dist/ionic/p-e627ed84.js +0 -4
  1570. package/dist/ionic/p-e6b240a0.js +0 -4
  1571. /package/dist/esm-es5/{capacitor-b4979570.js → capacitor-b0e5fe83.js} +0 -0
  1572. /package/dist/esm-es5/{config-96c9ace3.js → config-49c88215.js} +0 -0
  1573. /package/dist/esm-es5/{cubic-bezier-66542bc5.js → cubic-bezier-fe2083dc.js} +0 -0
  1574. /package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +0 -0
  1575. /package/dist/esm-es5/{focus-visible-85493433.js → focus-visible-dd40d69f.js} +0 -0
  1576. /package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +0 -0
  1577. /package/dist/esm-es5/{hardware-back-button-39299f84.js → hardware-back-button-b2bc76db.js} +0 -0
  1578. /package/dist/esm-es5/{helpers-3379ba19.js → helpers-ae653409.js} +0 -0
  1579. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1580. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1581. /package/dist/esm-es5/{spinner-configs-d09fbbbb.js → spinner-configs-964f7cf3.js} +0 -0
  1582. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1583. /package/dist/esm-es5/{watch-options-02d8498b.js → watch-options-c2911ace.js} +0 -0
  1584. /package/dist/ionic/{p-5aac9314.system.js → p-012c3ceb.system.js} +0 -0
  1585. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1586. /package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +0 -0
  1587. /package/dist/ionic/{p-ccdcb022.system.js → p-0e4f2e17.system.js} +0 -0
  1588. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1589. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1590. /package/dist/ionic/{p-815c2fba.system.js → p-32ad210f.system.js} +0 -0
  1591. /package/dist/ionic/{p-cc196b34.js → p-3c58a71b.js} +0 -0
  1592. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1593. /package/dist/ionic/{p-f10de93b.js → p-459d13d5.js} +0 -0
  1594. /package/dist/ionic/{p-44bc8b45.system.js → p-4609d030.system.js} +0 -0
  1595. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1596. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1597. /package/dist/ionic/{p-772f6c84.system.js → p-4f255d5a.system.js} +0 -0
  1598. /package/dist/ionic/{p-8c15eda7.system.js → p-790220fd.system.js} +0 -0
  1599. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1600. /package/dist/ionic/{p-87411e39.system.js → p-c468af8a.system.js} +0 -0
  1601. /package/dist/ionic/{p-9e852ff1.system.js → p-c7c8429a.system.js} +0 -0
  1602. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1603. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1604. /package/dist/ionic/{p-56dc022e.system.js → p-d8d84afa.system.js} +0 -0
  1605. /package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +0 -0
  1606. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1607. /package/dist/ionic/{p-2b89ea1b.system.js → p-f233f1e0.system.js} +0 -0
  1608. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
  1609. /package/dist/ionic/{p-479cdbf8.system.js → p-ff4b7e40.system.js} +0 -0
@@ -24,1251 +24,1251 @@ import { getIonMode } from "../../global/ionic-global";
24
24
  * @part label - The label text describing the select.
25
25
  */
26
26
  export class Select {
27
- constructor() {
28
- this.inputId = `ion-sel-${selectIds++}`;
29
- this.inheritedAttributes = {};
30
- // This flag ensures we log the deprecation warning at most once.
31
- this.hasLoggedDeprecationWarning = false;
32
- this.onClick = (ev) => {
33
- this.setFocus();
34
- this.open(ev);
35
- };
36
- this.onFocus = () => {
37
- this.ionFocus.emit();
38
- };
39
- this.onBlur = () => {
40
- this.ionBlur.emit();
41
- };
42
- this.isExpanded = false;
43
- this.cancelText = 'Cancel';
44
- this.color = undefined;
45
- this.compareWith = undefined;
46
- this.disabled = false;
47
- this.fill = undefined;
48
- this.interface = 'alert';
49
- this.interfaceOptions = {};
50
- this.justify = 'space-between';
51
- this.label = undefined;
52
- this.labelPlacement = 'start';
53
- this.legacy = undefined;
54
- this.multiple = false;
55
- this.name = this.inputId;
56
- this.okText = 'OK';
57
- this.placeholder = undefined;
58
- this.selectedText = undefined;
59
- this.toggleIcon = undefined;
60
- this.expandedIcon = undefined;
61
- this.shape = undefined;
62
- this.value = undefined;
63
- }
64
- styleChanged() {
65
- this.emitStyle();
66
- }
67
- setValue(value) {
68
- this.value = value;
69
- this.ionChange.emit({ value });
70
- }
71
- componentWillLoad() {
72
- this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
73
- }
74
- async connectedCallback() {
75
- const { el } = this;
76
- this.legacyFormController = createLegacyFormController(el);
77
- this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
78
- this.updateOverlayOptions();
79
- this.emitStyle();
80
- this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => {
81
- this.updateOverlayOptions();
82
- /**
83
- * We need to re-render the component
84
- * because one of the new ion-select-option
85
- * elements may match the value. In this case,
86
- * the rendered selected text should be updated.
87
- */
88
- forceUpdate(this);
89
- });
90
- }
91
- disconnectedCallback() {
92
- if (this.mutationO) {
93
- this.mutationO.disconnect();
94
- this.mutationO = undefined;
27
+ constructor() {
28
+ this.inputId = `ion-sel-${selectIds++}`;
29
+ this.inheritedAttributes = {};
30
+ // This flag ensures we log the deprecation warning at most once.
31
+ this.hasLoggedDeprecationWarning = false;
32
+ this.onClick = (ev) => {
33
+ this.setFocus();
34
+ this.open(ev);
35
+ };
36
+ this.onFocus = () => {
37
+ this.ionFocus.emit();
38
+ };
39
+ this.onBlur = () => {
40
+ this.ionBlur.emit();
41
+ };
42
+ this.isExpanded = false;
43
+ this.cancelText = 'Cancel';
44
+ this.color = undefined;
45
+ this.compareWith = undefined;
46
+ this.disabled = false;
47
+ this.fill = undefined;
48
+ this.interface = 'alert';
49
+ this.interfaceOptions = {};
50
+ this.justify = 'space-between';
51
+ this.label = undefined;
52
+ this.labelPlacement = 'start';
53
+ this.legacy = undefined;
54
+ this.multiple = false;
55
+ this.name = this.inputId;
56
+ this.okText = 'OK';
57
+ this.placeholder = undefined;
58
+ this.selectedText = undefined;
59
+ this.toggleIcon = undefined;
60
+ this.expandedIcon = undefined;
61
+ this.shape = undefined;
62
+ this.value = undefined;
95
63
  }
96
- if (this.notchController) {
97
- this.notchController.destroy();
98
- this.notchController = undefined;
64
+ styleChanged() {
65
+ this.emitStyle();
99
66
  }
100
- }
101
- /**
102
- * Open the select overlay. The overlay is either an alert, action sheet, or popover,
103
- * depending on the `interface` property on the `ion-select`.
104
- *
105
- * @param event The user interface event that called the open.
106
- */
107
- async open(event) {
108
- if (this.disabled || this.isExpanded) {
109
- return undefined;
67
+ setValue(value) {
68
+ this.value = value;
69
+ this.ionChange.emit({ value });
110
70
  }
111
- this.isExpanded = true;
112
- const overlay = (this.overlay = await this.createOverlay(event));
113
- overlay.onDidDismiss().then(() => {
114
- this.overlay = undefined;
115
- this.isExpanded = false;
116
- this.ionDismiss.emit();
117
- this.setFocus();
118
- });
119
- await overlay.present();
120
- // focus selected option for popovers
121
- if (this.interface === 'popover') {
122
- const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
123
- if (indexOfSelected > -1) {
124
- const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
125
- if (selectedItem) {
126
- focusElement(selectedItem);
127
- /**
128
- * Browsers such as Firefox do not
129
- * correctly delegate focus when manually
130
- * focusing an element with delegatesFocus.
131
- * We work around this by manually focusing
132
- * the interactive element.
133
- * ion-radio and ion-checkbox are the only
134
- * elements that ion-select-popover uses, so
135
- * we only need to worry about those two components
136
- * when focusing.
137
- */
138
- const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
139
- if (interactiveEl) {
140
- interactiveEl.focus();
141
- }
71
+ componentWillLoad() {
72
+ this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
73
+ }
74
+ async connectedCallback() {
75
+ const { el } = this;
76
+ this.legacyFormController = createLegacyFormController(el);
77
+ this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);
78
+ this.updateOverlayOptions();
79
+ this.emitStyle();
80
+ this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => {
81
+ this.updateOverlayOptions();
82
+ /**
83
+ * We need to re-render the component
84
+ * because one of the new ion-select-option
85
+ * elements may match the value. In this case,
86
+ * the rendered selected text should be updated.
87
+ */
88
+ forceUpdate(this);
89
+ });
90
+ }
91
+ disconnectedCallback() {
92
+ if (this.mutationO) {
93
+ this.mutationO.disconnect();
94
+ this.mutationO = undefined;
142
95
  }
143
- }
144
- else {
145
- /**
146
- * If no value is set then focus the first enabled option.
147
- */
148
- const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
149
- if (firstEnabledOption) {
150
- focusElement(firstEnabledOption.closest('ion-item'));
151
- /**
152
- * Focus the option for the same reason as we do above.
153
- */
154
- firstEnabledOption.focus();
96
+ if (this.notchController) {
97
+ this.notchController.destroy();
98
+ this.notchController = undefined;
99
+ }
100
+ }
101
+ /**
102
+ * Open the select overlay. The overlay is either an alert, action sheet, or popover,
103
+ * depending on the `interface` property on the `ion-select`.
104
+ *
105
+ * @param event The user interface event that called the open.
106
+ */
107
+ async open(event) {
108
+ if (this.disabled || this.isExpanded) {
109
+ return undefined;
110
+ }
111
+ this.isExpanded = true;
112
+ const overlay = (this.overlay = await this.createOverlay(event));
113
+ overlay.onDidDismiss().then(() => {
114
+ this.overlay = undefined;
115
+ this.isExpanded = false;
116
+ this.ionDismiss.emit();
117
+ this.setFocus();
118
+ });
119
+ await overlay.present();
120
+ // focus selected option for popovers
121
+ if (this.interface === 'popover') {
122
+ const indexOfSelected = this.childOpts.map((o) => o.value).indexOf(this.value);
123
+ if (indexOfSelected > -1) {
124
+ const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
125
+ if (selectedItem) {
126
+ focusElement(selectedItem);
127
+ /**
128
+ * Browsers such as Firefox do not
129
+ * correctly delegate focus when manually
130
+ * focusing an element with delegatesFocus.
131
+ * We work around this by manually focusing
132
+ * the interactive element.
133
+ * ion-radio and ion-checkbox are the only
134
+ * elements that ion-select-popover uses, so
135
+ * we only need to worry about those two components
136
+ * when focusing.
137
+ */
138
+ const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');
139
+ if (interactiveEl) {
140
+ interactiveEl.focus();
141
+ }
142
+ }
143
+ }
144
+ else {
145
+ /**
146
+ * If no value is set then focus the first enabled option.
147
+ */
148
+ const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
149
+ if (firstEnabledOption) {
150
+ focusElement(firstEnabledOption.closest('ion-item'));
151
+ /**
152
+ * Focus the option for the same reason as we do above.
153
+ */
154
+ firstEnabledOption.focus();
155
+ }
156
+ }
155
157
  }
156
- }
158
+ return overlay;
157
159
  }
158
- return overlay;
159
- }
160
- createOverlay(ev) {
161
- let selectInterface = this.interface;
162
- if (selectInterface === 'action-sheet' && this.multiple) {
163
- console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
164
- selectInterface = 'alert';
160
+ createOverlay(ev) {
161
+ let selectInterface = this.interface;
162
+ if (selectInterface === 'action-sheet' && this.multiple) {
163
+ console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
164
+ selectInterface = 'alert';
165
+ }
166
+ if (selectInterface === 'popover' && !ev) {
167
+ console.warn(`Select interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
168
+ selectInterface = 'alert';
169
+ }
170
+ if (selectInterface === 'action-sheet') {
171
+ return this.openActionSheet();
172
+ }
173
+ if (selectInterface === 'popover') {
174
+ return this.openPopover(ev);
175
+ }
176
+ return this.openAlert();
165
177
  }
166
- if (selectInterface === 'popover' && !ev) {
167
- console.warn(`Select interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
168
- selectInterface = 'alert';
178
+ updateOverlayOptions() {
179
+ const overlay = this.overlay;
180
+ if (!overlay) {
181
+ return;
182
+ }
183
+ const childOpts = this.childOpts;
184
+ const value = this.value;
185
+ switch (this.interface) {
186
+ case 'action-sheet':
187
+ overlay.buttons = this.createActionSheetButtons(childOpts, value);
188
+ break;
189
+ case 'popover':
190
+ const popover = overlay.querySelector('ion-select-popover');
191
+ if (popover) {
192
+ popover.options = this.createPopoverOptions(childOpts, value);
193
+ }
194
+ break;
195
+ case 'alert':
196
+ const inputType = this.multiple ? 'checkbox' : 'radio';
197
+ overlay.inputs = this.createAlertInputs(childOpts, inputType, value);
198
+ break;
199
+ }
169
200
  }
170
- if (selectInterface === 'action-sheet') {
171
- return this.openActionSheet();
201
+ createActionSheetButtons(data, selectValue) {
202
+ const actionSheetButtons = data.map((option) => {
203
+ const value = getOptionValue(option);
204
+ // Remove hydrated before copying over classes
205
+ const copyClasses = Array.from(option.classList)
206
+ .filter((cls) => cls !== 'hydrated')
207
+ .join(' ');
208
+ const optClass = `${OPTION_CLASS} ${copyClasses}`;
209
+ return {
210
+ role: isOptionSelected(selectValue, value, this.compareWith) ? 'selected' : '',
211
+ text: option.textContent,
212
+ cssClass: optClass,
213
+ handler: () => {
214
+ this.setValue(value);
215
+ },
216
+ };
217
+ });
218
+ // Add "cancel" button
219
+ actionSheetButtons.push({
220
+ text: this.cancelText,
221
+ role: 'cancel',
222
+ handler: () => {
223
+ this.ionCancel.emit();
224
+ },
225
+ });
226
+ return actionSheetButtons;
172
227
  }
173
- if (selectInterface === 'popover') {
174
- return this.openPopover(ev);
228
+ createAlertInputs(data, inputType, selectValue) {
229
+ const alertInputs = data.map((option) => {
230
+ const value = getOptionValue(option);
231
+ // Remove hydrated before copying over classes
232
+ const copyClasses = Array.from(option.classList)
233
+ .filter((cls) => cls !== 'hydrated')
234
+ .join(' ');
235
+ const optClass = `${OPTION_CLASS} ${copyClasses}`;
236
+ return {
237
+ type: inputType,
238
+ cssClass: optClass,
239
+ label: option.textContent || '',
240
+ value,
241
+ checked: isOptionSelected(selectValue, value, this.compareWith),
242
+ disabled: option.disabled,
243
+ };
244
+ });
245
+ return alertInputs;
175
246
  }
176
- return this.openAlert();
177
- }
178
- updateOverlayOptions() {
179
- const overlay = this.overlay;
180
- if (!overlay) {
181
- return;
247
+ createPopoverOptions(data, selectValue) {
248
+ const popoverOptions = data.map((option) => {
249
+ const value = getOptionValue(option);
250
+ // Remove hydrated before copying over classes
251
+ const copyClasses = Array.from(option.classList)
252
+ .filter((cls) => cls !== 'hydrated')
253
+ .join(' ');
254
+ const optClass = `${OPTION_CLASS} ${copyClasses}`;
255
+ return {
256
+ text: option.textContent || '',
257
+ cssClass: optClass,
258
+ value,
259
+ checked: isOptionSelected(selectValue, value, this.compareWith),
260
+ disabled: option.disabled,
261
+ handler: (selected) => {
262
+ this.setValue(selected);
263
+ if (!this.multiple) {
264
+ this.close();
265
+ }
266
+ },
267
+ };
268
+ });
269
+ return popoverOptions;
182
270
  }
183
- const childOpts = this.childOpts;
184
- const value = this.value;
185
- switch (this.interface) {
186
- case 'action-sheet':
187
- overlay.buttons = this.createActionSheetButtons(childOpts, value);
188
- break;
189
- case 'popover':
190
- const popover = overlay.querySelector('ion-select-popover');
191
- if (popover) {
192
- popover.options = this.createPopoverOptions(childOpts, value);
271
+ async openPopover(ev) {
272
+ const { fill, labelPlacement } = this;
273
+ const interfaceOptions = this.interfaceOptions;
274
+ const mode = getIonMode(this);
275
+ const showBackdrop = mode === 'md' ? false : true;
276
+ const multiple = this.multiple;
277
+ const value = this.value;
278
+ let event = ev;
279
+ let size = 'auto';
280
+ if (this.legacyFormController.hasLegacyControl()) {
281
+ const item = this.el.closest('ion-item');
282
+ // If the select is inside of an item containing a floating
283
+ // or stacked label then the popover should take up the
284
+ // full width of the item when it presents
285
+ if (item && (item.classList.contains('item-label-floating') || item.classList.contains('item-label-stacked'))) {
286
+ event = Object.assign(Object.assign({}, ev), { detail: {
287
+ ionShadowTarget: item,
288
+ } });
289
+ size = 'cover';
290
+ }
193
291
  }
194
- break;
195
- case 'alert':
196
- const inputType = this.multiple ? 'checkbox' : 'radio';
197
- overlay.inputs = this.createAlertInputs(childOpts, inputType, value);
198
- break;
292
+ else {
293
+ const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
294
+ /**
295
+ * The popover should take up the full width
296
+ * when using a fill in MD mode or if the
297
+ * label is floating/stacked.
298
+ */
299
+ if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
300
+ size = 'cover';
301
+ /**
302
+ * Otherwise the popover
303
+ * should be positioned relative
304
+ * to the native element.
305
+ */
306
+ }
307
+ else {
308
+ event = Object.assign(Object.assign({}, ev), { detail: {
309
+ ionShadowTarget: this.nativeWrapperEl,
310
+ } });
311
+ }
312
+ }
313
+ const popoverOpts = Object.assign(Object.assign({ mode,
314
+ event, alignment: 'center', size,
315
+ showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
316
+ header: interfaceOptions.header,
317
+ subHeader: interfaceOptions.subHeader,
318
+ message: interfaceOptions.message,
319
+ multiple,
320
+ value,
321
+ options: this.createPopoverOptions(this.childOpts, value),
322
+ } });
323
+ /**
324
+ * Workaround for Stencil to autodefine
325
+ * ion-select-popover and ion-popover when
326
+ * using Custom Elements build.
327
+ */
328
+ // eslint-disable-next-line
329
+ if (false) {
330
+ // eslint-disable-next-line
331
+ // @ts-ignore
332
+ document.createElement('ion-select-popover');
333
+ document.createElement('ion-popover');
334
+ }
335
+ return popoverController.create(popoverOpts);
199
336
  }
200
- }
201
- createActionSheetButtons(data, selectValue) {
202
- const actionSheetButtons = data.map((option) => {
203
- const value = getOptionValue(option);
204
- // Remove hydrated before copying over classes
205
- const copyClasses = Array.from(option.classList)
206
- .filter((cls) => cls !== 'hydrated')
207
- .join(' ');
208
- const optClass = `${OPTION_CLASS} ${copyClasses}`;
209
- return {
210
- role: isOptionSelected(selectValue, value, this.compareWith) ? 'selected' : '',
211
- text: option.textContent,
212
- cssClass: optClass,
213
- handler: () => {
214
- this.setValue(value);
215
- },
216
- };
217
- });
218
- // Add "cancel" button
219
- actionSheetButtons.push({
220
- text: this.cancelText,
221
- role: 'cancel',
222
- handler: () => {
223
- this.ionCancel.emit();
224
- },
225
- });
226
- return actionSheetButtons;
227
- }
228
- createAlertInputs(data, inputType, selectValue) {
229
- const alertInputs = data.map((option) => {
230
- const value = getOptionValue(option);
231
- // Remove hydrated before copying over classes
232
- const copyClasses = Array.from(option.classList)
233
- .filter((cls) => cls !== 'hydrated')
234
- .join(' ');
235
- const optClass = `${OPTION_CLASS} ${copyClasses}`;
236
- return {
237
- type: inputType,
238
- cssClass: optClass,
239
- label: option.textContent || '',
240
- value,
241
- checked: isOptionSelected(selectValue, value, this.compareWith),
242
- disabled: option.disabled,
243
- };
244
- });
245
- return alertInputs;
246
- }
247
- createPopoverOptions(data, selectValue) {
248
- const popoverOptions = data.map((option) => {
249
- const value = getOptionValue(option);
250
- // Remove hydrated before copying over classes
251
- const copyClasses = Array.from(option.classList)
252
- .filter((cls) => cls !== 'hydrated')
253
- .join(' ');
254
- const optClass = `${OPTION_CLASS} ${copyClasses}`;
255
- return {
256
- text: option.textContent || '',
257
- cssClass: optClass,
258
- value,
259
- checked: isOptionSelected(selectValue, value, this.compareWith),
260
- disabled: option.disabled,
261
- handler: (selected) => {
262
- this.setValue(selected);
263
- if (!this.multiple) {
264
- this.close();
265
- }
266
- },
267
- };
268
- });
269
- return popoverOptions;
270
- }
271
- async openPopover(ev) {
272
- const { fill, labelPlacement } = this;
273
- const interfaceOptions = this.interfaceOptions;
274
- const mode = getIonMode(this);
275
- const showBackdrop = mode === 'md' ? false : true;
276
- const multiple = this.multiple;
277
- const value = this.value;
278
- let event = ev;
279
- let size = 'auto';
280
- if (this.legacyFormController.hasLegacyControl()) {
281
- const item = this.el.closest('ion-item');
282
- // If the select is inside of an item containing a floating
283
- // or stacked label then the popover should take up the
284
- // full width of the item when it presents
285
- if (item && (item.classList.contains('item-label-floating') || item.classList.contains('item-label-stacked'))) {
286
- event = Object.assign(Object.assign({}, ev), { detail: {
287
- ionShadowTarget: item,
288
- } });
289
- size = 'cover';
290
- }
337
+ async openActionSheet() {
338
+ const mode = getIonMode(this);
339
+ const interfaceOptions = this.interfaceOptions;
340
+ const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
341
+ /**
342
+ * Workaround for Stencil to autodefine
343
+ * ion-action-sheet when
344
+ * using Custom Elements build.
345
+ */
346
+ // eslint-disable-next-line
347
+ if (false) {
348
+ // eslint-disable-next-line
349
+ // @ts-ignore
350
+ document.createElement('ion-action-sheet');
351
+ }
352
+ return actionSheetController.create(actionSheetOpts);
291
353
  }
292
- else {
293
- const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
294
- /**
295
- * The popover should take up the full width
296
- * when using a fill in MD mode or if the
297
- * label is floating/stacked.
298
- */
299
- if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {
300
- size = 'cover';
354
+ async openAlert() {
355
+ /**
356
+ * TODO FW-3194
357
+ * Remove legacyFormController logic.
358
+ * Remove label and labelText vars
359
+ * Pass `this.labelText` instead of `labelText`
360
+ * when setting the header.
361
+ */
362
+ let label;
363
+ let labelText;
364
+ if (this.legacyFormController.hasLegacyControl()) {
365
+ label = this.getLabel();
366
+ labelText = label ? label.textContent : null;
367
+ }
368
+ else {
369
+ labelText = this.labelText;
370
+ }
371
+ const interfaceOptions = this.interfaceOptions;
372
+ const inputType = this.multiple ? 'checkbox' : 'radio';
373
+ const mode = getIonMode(this);
374
+ const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
375
+ {
376
+ text: this.cancelText,
377
+ role: 'cancel',
378
+ handler: () => {
379
+ this.ionCancel.emit();
380
+ },
381
+ },
382
+ {
383
+ text: this.okText,
384
+ handler: (selectedValues) => {
385
+ this.setValue(selectedValues);
386
+ },
387
+ },
388
+ ], cssClass: [
389
+ 'select-alert',
390
+ interfaceOptions.cssClass,
391
+ this.multiple ? 'multiple-select-alert' : 'single-select-alert',
392
+ ] });
301
393
  /**
302
- * Otherwise the popover
303
- * should be positioned relative
304
- * to the native element.
394
+ * Workaround for Stencil to autodefine
395
+ * ion-alert when
396
+ * using Custom Elements build.
305
397
  */
306
- }
307
- else {
308
- event = Object.assign(Object.assign({}, ev), { detail: {
309
- ionShadowTarget: this.nativeWrapperEl,
310
- } });
311
- }
398
+ // eslint-disable-next-line
399
+ if (false) {
400
+ // eslint-disable-next-line
401
+ // @ts-ignore
402
+ document.createElement('ion-alert');
403
+ }
404
+ return alertController.create(alertOpts);
312
405
  }
313
- const popoverOpts = Object.assign(Object.assign({ mode,
314
- event, alignment: 'center', size,
315
- showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {
316
- header: interfaceOptions.header,
317
- subHeader: interfaceOptions.subHeader,
318
- message: interfaceOptions.message,
319
- multiple,
320
- value,
321
- options: this.createPopoverOptions(this.childOpts, value),
322
- } });
323
406
  /**
324
- * Workaround for Stencil to autodefine
325
- * ion-select-popover and ion-popover when
326
- * using Custom Elements build.
407
+ * Close the select interface.
327
408
  */
328
- // eslint-disable-next-line
329
- if (false) {
330
- // eslint-disable-next-line
331
- // @ts-ignore
332
- document.createElement('ion-select-popover');
333
- document.createElement('ion-popover');
409
+ close() {
410
+ if (!this.overlay) {
411
+ return Promise.resolve(false);
412
+ }
413
+ return this.overlay.dismiss();
334
414
  }
335
- return popoverController.create(popoverOpts);
336
- }
337
- async openActionSheet() {
338
- const mode = getIonMode(this);
339
- const interfaceOptions = this.interfaceOptions;
340
- const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });
341
- /**
342
- * Workaround for Stencil to autodefine
343
- * ion-action-sheet when
344
- * using Custom Elements build.
345
- */
346
- // eslint-disable-next-line
347
- if (false) {
348
- // eslint-disable-next-line
349
- // @ts-ignore
350
- document.createElement('ion-action-sheet');
415
+ // TODO FW-3194 Remove this
416
+ getLabel() {
417
+ return findItemLabel(this.el);
351
418
  }
352
- return actionSheetController.create(actionSheetOpts);
353
- }
354
- async openAlert() {
355
- /**
356
- * TODO FW-3194
357
- * Remove legacyFormController logic.
358
- * Remove label and labelText vars
359
- * Pass `this.labelText` instead of `labelText`
360
- * when setting the header.
361
- */
362
- let label;
363
- let labelText;
364
- if (this.legacyFormController.hasLegacyControl()) {
365
- label = this.getLabel();
366
- labelText = label ? label.textContent : null;
419
+ hasValue() {
420
+ return this.getText() !== '';
367
421
  }
368
- else {
369
- labelText = this.labelText;
422
+ get childOpts() {
423
+ return Array.from(this.el.querySelectorAll('ion-select-option'));
370
424
  }
371
- const interfaceOptions = this.interfaceOptions;
372
- const inputType = this.multiple ? 'checkbox' : 'radio';
373
- const mode = getIonMode(this);
374
- const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [
375
- {
376
- text: this.cancelText,
377
- role: 'cancel',
378
- handler: () => {
379
- this.ionCancel.emit();
380
- },
381
- },
382
- {
383
- text: this.okText,
384
- handler: (selectedValues) => {
385
- this.setValue(selectedValues);
386
- },
387
- },
388
- ], cssClass: [
389
- 'select-alert',
390
- interfaceOptions.cssClass,
391
- this.multiple ? 'multiple-select-alert' : 'single-select-alert',
392
- ] });
393
425
  /**
394
- * Workaround for Stencil to autodefine
395
- * ion-alert when
396
- * using Custom Elements build.
426
+ * Returns any plaintext associated with
427
+ * the label (either prop or slot).
428
+ * Note: This will not return any custom
429
+ * HTML. Use the `hasLabel` getter if you
430
+ * want to know if any slotted label content
431
+ * was passed.
397
432
  */
398
- // eslint-disable-next-line
399
- if (false) {
400
- // eslint-disable-next-line
401
- // @ts-ignore
402
- document.createElement('ion-alert');
433
+ get labelText() {
434
+ const { label } = this;
435
+ if (label !== undefined) {
436
+ return label;
437
+ }
438
+ const { labelSlot } = this;
439
+ if (labelSlot !== null) {
440
+ return labelSlot.textContent;
441
+ }
442
+ return;
403
443
  }
404
- return alertController.create(alertOpts);
405
- }
406
- /**
407
- * Close the select interface.
408
- */
409
- close() {
410
- if (!this.overlay) {
411
- return Promise.resolve(false);
444
+ getText() {
445
+ const selectedText = this.selectedText;
446
+ if (selectedText != null && selectedText !== '') {
447
+ return selectedText;
448
+ }
449
+ return generateText(this.childOpts, this.value, this.compareWith);
412
450
  }
413
- return this.overlay.dismiss();
414
- }
415
- // TODO FW-3194 Remove this
416
- getLabel() {
417
- return findItemLabel(this.el);
418
- }
419
- hasValue() {
420
- return this.getText() !== '';
421
- }
422
- get childOpts() {
423
- return Array.from(this.el.querySelectorAll('ion-select-option'));
424
- }
425
- /**
426
- * Returns any plaintext associated with
427
- * the label (either prop or slot).
428
- * Note: This will not return any custom
429
- * HTML. Use the `hasLabel` getter if you
430
- * want to know if any slotted label content
431
- * was passed.
432
- */
433
- get labelText() {
434
- const { label } = this;
435
- if (label !== undefined) {
436
- return label;
451
+ setFocus() {
452
+ if (this.focusEl) {
453
+ this.focusEl.focus();
454
+ }
437
455
  }
438
- const { labelSlot } = this;
439
- if (labelSlot !== null) {
440
- return labelSlot.textContent;
456
+ emitStyle() {
457
+ const { disabled } = this;
458
+ const style = {
459
+ 'interactive-disabled': disabled,
460
+ };
461
+ if (this.legacyFormController.hasLegacyControl()) {
462
+ style['interactive'] = true;
463
+ style['select'] = true;
464
+ style['select-disabled'] = disabled;
465
+ style['has-placeholder'] = this.placeholder !== undefined;
466
+ style['has-value'] = this.hasValue();
467
+ style['has-focus'] = this.isExpanded;
468
+ }
469
+ this.ionStyle.emit(style);
441
470
  }
442
- return;
443
- }
444
- getText() {
445
- const selectedText = this.selectedText;
446
- if (selectedText != null && selectedText !== '') {
447
- return selectedText;
471
+ renderLabel() {
472
+ const { label } = this;
473
+ return (h("div", { class: {
474
+ 'label-text-wrapper': true,
475
+ 'label-text-wrapper-hidden': !this.hasLabel,
476
+ }, part: "label" }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
448
477
  }
449
- return generateText(this.childOpts, this.value, this.compareWith);
450
- }
451
- setFocus() {
452
- if (this.focusEl) {
453
- this.focusEl.focus();
478
+ componentDidRender() {
479
+ var _a;
480
+ (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
454
481
  }
455
- }
456
- emitStyle() {
457
- const { disabled } = this;
458
- const style = {
459
- 'interactive-disabled': disabled,
460
- };
461
- if (this.legacyFormController.hasLegacyControl()) {
462
- style['interactive'] = true;
463
- style['select'] = true;
464
- style['select-disabled'] = disabled;
465
- style['has-placeholder'] = this.placeholder !== undefined;
466
- style['has-value'] = this.hasValue();
467
- style['has-focus'] = this.isExpanded;
482
+ /**
483
+ * Gets any content passed into the `label` slot,
484
+ * not the <slot> definition.
485
+ */
486
+ get labelSlot() {
487
+ return this.el.querySelector('[slot="label"]');
468
488
  }
469
- this.ionStyle.emit(style);
470
- }
471
- renderLabel() {
472
- const { label } = this;
473
- return (h("div", { class: {
474
- 'label-text-wrapper': true,
475
- 'label-text-wrapper-hidden': !this.hasLabel,
476
- }, part: "label" }, label === undefined ? h("slot", { name: "label" }) : h("div", { class: "label-text" }, label)));
477
- }
478
- componentDidRender() {
479
- var _a;
480
- (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();
481
- }
482
- /**
483
- * Gets any content passed into the `label` slot,
484
- * not the <slot> definition.
485
- */
486
- get labelSlot() {
487
- return this.el.querySelector('[slot="label"]');
488
- }
489
- /**
490
- * Returns `true` if label content is provided
491
- * either by a prop or a content. If you want
492
- * to get the plaintext value of the label use
493
- * the `labelText` getter instead.
494
- */
495
- get hasLabel() {
496
- return this.label !== undefined || this.labelSlot !== null;
497
- }
498
- /**
499
- * Renders the border container
500
- * when fill="outline".
501
- */
502
- renderLabelContainer() {
503
- const mode = getIonMode(this);
504
- const hasOutlineFill = mode === 'md' && this.fill === 'outline';
505
- if (hasOutlineFill) {
506
- /**
507
- * The outline fill has a special outline
508
- * that appears around the select and the label.
509
- * Certain stacked and floating label placements cause the
510
- * label to translate up and create a "cut out"
511
- * inside of that border by using the notch-spacer element.
512
- */
513
- return [
514
- h("div", { class: "select-outline-container" }, h("div", { class: "select-outline-start" }), h("div", { class: {
515
- 'select-outline-notch': true,
516
- 'select-outline-notch-hidden': !this.hasLabel,
517
- } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "select-outline-end" })),
518
- this.renderLabel(),
519
- ];
489
+ /**
490
+ * Returns `true` if label content is provided
491
+ * either by a prop or a content. If you want
492
+ * to get the plaintext value of the label use
493
+ * the `labelText` getter instead.
494
+ */
495
+ get hasLabel() {
496
+ return this.label !== undefined || this.labelSlot !== null;
520
497
  }
521
498
  /**
522
- * If not using the outline style,
523
- * we can render just the label.
499
+ * Renders the border container
500
+ * when fill="outline".
524
501
  */
525
- return this.renderLabel();
526
- }
527
- renderSelect() {
528
- const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
529
- const mode = getIonMode(this);
530
- const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
531
- const justifyEnabled = !hasFloatingOrStackedLabel;
532
- const rtl = isRTL(el) ? 'rtl' : 'ltr';
533
- const inItem = hostContext('ion-item', this.el);
534
- const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
535
- renderHiddenInput(true, el, name, parseValue(value), disabled);
536
- return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {
537
- [mode]: true,
538
- 'in-item': inItem,
539
- 'in-item-color': hostContext('ion-item.ion-color', el),
540
- 'select-disabled': disabled,
541
- 'select-expanded': isExpanded,
542
- 'has-expanded-icon': expandedIcon !== undefined,
543
- 'has-value': this.hasValue(),
544
- 'has-placeholder': placeholder !== undefined,
545
- 'ion-focusable': true,
546
- [`select-${rtl}`]: true,
547
- [`select-fill-${fill}`]: fill !== undefined,
548
- [`select-justify-${justify}`]: justifyEnabled,
549
- [`select-shape-${shape}`]: shape !== undefined,
550
- [`select-label-placement-${labelPlacement}`]: true,
551
- }) }, h("label", { class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), !hasFloatingOrStackedLabel && this.renderSelectIcon(), this.renderListbox()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
552
- }
553
- // TODO FW-3194 - Remove this
554
- renderLegacySelect() {
555
- if (!this.hasLoggedDeprecationWarning) {
556
- printIonWarning(`ion-select now requires providing a label with either the "label" property or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the "label" property or the "aria-label" attribute.
502
+ renderLabelContainer() {
503
+ const mode = getIonMode(this);
504
+ const hasOutlineFill = mode === 'md' && this.fill === 'outline';
505
+ if (hasOutlineFill) {
506
+ /**
507
+ * The outline fill has a special outline
508
+ * that appears around the select and the label.
509
+ * Certain stacked and floating label placements cause the
510
+ * label to translate up and create a "cut out"
511
+ * inside of that border by using the notch-spacer element.
512
+ */
513
+ return [
514
+ h("div", { class: "select-outline-container" }, h("div", { class: "select-outline-start" }), h("div", { class: {
515
+ 'select-outline-notch': true,
516
+ 'select-outline-notch-hidden': !this.hasLabel,
517
+ } }, h("div", { class: "notch-spacer", "aria-hidden": "true", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h("div", { class: "select-outline-end" })),
518
+ this.renderLabel(),
519
+ ];
520
+ }
521
+ /**
522
+ * If not using the outline style,
523
+ * we can render just the label.
524
+ */
525
+ return this.renderLabel();
526
+ }
527
+ renderSelect() {
528
+ const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
529
+ const mode = getIonMode(this);
530
+ const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
531
+ const justifyEnabled = !hasFloatingOrStackedLabel;
532
+ const rtl = isRTL(el) ? 'rtl' : 'ltr';
533
+ const inItem = hostContext('ion-item', this.el);
534
+ const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
535
+ renderHiddenInput(true, el, name, parseValue(value), disabled);
536
+ return (h(Host, { onClick: this.onClick, class: createColorClasses(this.color, {
537
+ [mode]: true,
538
+ 'in-item': inItem,
539
+ 'in-item-color': hostContext('ion-item.ion-color', el),
540
+ 'select-disabled': disabled,
541
+ 'select-expanded': isExpanded,
542
+ 'has-expanded-icon': expandedIcon !== undefined,
543
+ 'has-value': this.hasValue(),
544
+ 'has-placeholder': placeholder !== undefined,
545
+ 'ion-focusable': true,
546
+ [`select-${rtl}`]: true,
547
+ [`select-fill-${fill}`]: fill !== undefined,
548
+ [`select-justify-${justify}`]: justifyEnabled,
549
+ [`select-shape-${shape}`]: shape !== undefined,
550
+ [`select-label-placement-${labelPlacement}`]: true,
551
+ }) }, h("label", { class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), !hasFloatingOrStackedLabel && this.renderSelectIcon(), this.renderListbox()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { class: "select-highlight" }))));
552
+ }
553
+ // TODO FW-3194 - Remove this
554
+ renderLegacySelect() {
555
+ if (!this.hasLoggedDeprecationWarning) {
556
+ printIonWarning(`ion-select now requires providing a label with either the "label" property or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the "label" property or the "aria-label" attribute.
557
557
 
558
558
  Example: <ion-select label="Favorite Color">...</ion-select>
559
559
  Example with aria-label: <ion-select aria-label="Favorite Color">...</ion-select>
560
560
 
561
561
  Developers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.`, this.el);
562
- if (this.legacy) {
563
- printIonWarning(`ion-select is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.
562
+ if (this.legacy) {
563
+ printIonWarning(`ion-select is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.
564
564
  Developers can dismiss this warning by removing their usage of the "legacy" property and using the new select syntax.`, this.el);
565
- }
566
- this.hasLoggedDeprecationWarning = true;
567
- }
568
- const { disabled, el, inputId, isExpanded, expandedIcon, name, placeholder, value } = this;
569
- const mode = getIonMode(this);
570
- const { labelText, labelId } = getAriaLabel(el, inputId);
571
- renderHiddenInput(true, el, name, parseValue(value), disabled);
572
- const displayValue = this.getText();
573
- let selectText = displayValue;
574
- if (selectText === '' && placeholder !== undefined) {
575
- selectText = placeholder;
576
- }
577
- // If there is a label then we need to concatenate it with the
578
- // current value (or placeholder) and a comma so it separates
579
- // nicely when the screen reader announces it, otherwise just
580
- // announce the value / placeholder
581
- const displayLabel = labelText !== undefined ? (selectText !== '' ? `${selectText}, ${labelText}` : labelText) : selectText;
582
- return (h(Host, { onClick: this.onClick, role: "button", "aria-haspopup": "listbox", "aria-disabled": disabled ? 'true' : null, "aria-label": displayLabel, class: {
583
- [mode]: true,
584
- 'in-item': hostContext('ion-item', el),
585
- 'in-item-color': hostContext('ion-item.ion-color', el),
586
- 'select-disabled': disabled,
587
- 'select-expanded': isExpanded,
588
- 'has-expanded-icon': expandedIcon !== undefined,
589
- 'legacy-select': true,
590
- } }, this.renderSelectText(), this.renderSelectIcon(), h("label", { id: labelId }, displayLabel), this.renderListbox()));
591
- }
592
- /**
593
- * Renders either the placeholder
594
- * or the selected values based on
595
- * the state of the select.
596
- */
597
- renderSelectText() {
598
- const { placeholder } = this;
599
- const displayValue = this.getText();
600
- let addPlaceholderClass = false;
601
- let selectText = displayValue;
602
- if (selectText === '' && placeholder !== undefined) {
603
- selectText = placeholder;
604
- addPlaceholderClass = true;
605
- }
606
- const selectTextClasses = {
607
- 'select-text': true,
608
- 'select-placeholder': addPlaceholderClass,
609
- };
610
- const textPart = addPlaceholderClass ? 'placeholder' : 'text';
611
- return (h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
612
- }
613
- /**
614
- * Renders the chevron icon
615
- * next to the select text.
616
- */
617
- renderSelectIcon() {
618
- const mode = getIonMode(this);
619
- const { isExpanded, toggleIcon, expandedIcon } = this;
620
- let icon;
621
- if (isExpanded && expandedIcon !== undefined) {
622
- icon = expandedIcon;
623
- }
624
- else {
625
- const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
626
- icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
565
+ }
566
+ this.hasLoggedDeprecationWarning = true;
567
+ }
568
+ const { disabled, el, inputId, isExpanded, expandedIcon, name, placeholder, value } = this;
569
+ const mode = getIonMode(this);
570
+ const { labelText, labelId } = getAriaLabel(el, inputId);
571
+ renderHiddenInput(true, el, name, parseValue(value), disabled);
572
+ const displayValue = this.getText();
573
+ let selectText = displayValue;
574
+ if (selectText === '' && placeholder !== undefined) {
575
+ selectText = placeholder;
576
+ }
577
+ // If there is a label then we need to concatenate it with the
578
+ // current value (or placeholder) and a comma so it separates
579
+ // nicely when the screen reader announces it, otherwise just
580
+ // announce the value / placeholder
581
+ const displayLabel = labelText !== undefined ? (selectText !== '' ? `${selectText}, ${labelText}` : labelText) : selectText;
582
+ return (h(Host, { onClick: this.onClick, role: "button", "aria-haspopup": "listbox", "aria-disabled": disabled ? 'true' : null, "aria-label": displayLabel, class: {
583
+ [mode]: true,
584
+ 'in-item': hostContext('ion-item', el),
585
+ 'in-item-color': hostContext('ion-item.ion-color', el),
586
+ 'select-disabled': disabled,
587
+ 'select-expanded': isExpanded,
588
+ 'has-expanded-icon': expandedIcon !== undefined,
589
+ 'legacy-select': true,
590
+ } }, this.renderSelectText(), this.renderSelectIcon(), h("label", { id: labelId }, displayLabel), this.renderListbox()));
627
591
  }
628
- return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
629
- }
630
- get ariaLabel() {
631
- var _a, _b;
632
- const { placeholder, el, inputId, inheritedAttributes } = this;
633
- const displayValue = this.getText();
634
- const { labelText } = getAriaLabel(el, inputId);
635
- const definedLabel = (_b = (_a = this.labelText) !== null && _a !== void 0 ? _a : inheritedAttributes['aria-label']) !== null && _b !== void 0 ? _b : labelText;
636
592
  /**
637
- * If developer has specified a placeholder
638
- * and there is nothing selected, the selectText
639
- * should have the placeholder value.
593
+ * Renders either the placeholder
594
+ * or the selected values based on
595
+ * the state of the select.
640
596
  */
641
- let renderedLabel = displayValue;
642
- if (renderedLabel === '' && placeholder !== undefined) {
643
- renderedLabel = placeholder;
597
+ renderSelectText() {
598
+ const { placeholder } = this;
599
+ const displayValue = this.getText();
600
+ let addPlaceholderClass = false;
601
+ let selectText = displayValue;
602
+ if (selectText === '' && placeholder !== undefined) {
603
+ selectText = placeholder;
604
+ addPlaceholderClass = true;
605
+ }
606
+ const selectTextClasses = {
607
+ 'select-text': true,
608
+ 'select-placeholder': addPlaceholderClass,
609
+ };
610
+ const textPart = addPlaceholderClass ? 'placeholder' : 'text';
611
+ return (h("div", { "aria-hidden": "true", class: selectTextClasses, part: textPart }, selectText));
644
612
  }
645
613
  /**
646
- * If there is a developer-defined label,
647
- * then we need to concatenate the developer label
648
- * string with the current current value.
649
- * The label for the control should be read
650
- * before the values of the control.
614
+ * Renders the chevron icon
615
+ * next to the select text.
651
616
  */
652
- if (definedLabel !== undefined) {
653
- renderedLabel = renderedLabel === '' ? definedLabel : `${definedLabel}, ${renderedLabel}`;
654
- }
655
- return renderedLabel;
656
- }
657
- renderListbox() {
658
- const { disabled, inputId, isExpanded } = this;
659
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
660
- }
661
- render() {
662
- const { legacyFormController } = this;
663
- return legacyFormController.hasLegacyControl() ? this.renderLegacySelect() : this.renderSelect();
664
- }
665
- static get is() { return "ion-select"; }
666
- static get encapsulation() { return "shadow"; }
667
- static get originalStyleUrls() {
668
- return {
669
- "ios": ["select.ios.scss"],
670
- "md": ["select.md.scss"]
671
- };
672
- }
673
- static get styleUrls() {
674
- return {
675
- "ios": ["select.ios.css"],
676
- "md": ["select.md.css"]
677
- };
678
- }
679
- static get properties() {
680
- return {
681
- "cancelText": {
682
- "type": "string",
683
- "mutable": false,
684
- "complexType": {
685
- "original": "string",
686
- "resolved": "string",
687
- "references": {}
688
- },
689
- "required": false,
690
- "optional": false,
691
- "docs": {
692
- "tags": [],
693
- "text": "The text to display on the cancel button."
694
- },
695
- "attribute": "cancel-text",
696
- "reflect": false,
697
- "defaultValue": "'Cancel'"
698
- },
699
- "color": {
700
- "type": "string",
701
- "mutable": false,
702
- "complexType": {
703
- "original": "Color",
704
- "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
705
- "references": {
706
- "Color": {
707
- "location": "import",
708
- "path": "../../interface",
709
- "id": "src/interface.d.ts::Color"
710
- }
711
- }
712
- },
713
- "required": false,
714
- "optional": true,
715
- "docs": {
716
- "tags": [],
717
- "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics).\n\nThis property is only available when using the modern select syntax."
718
- },
719
- "attribute": "color",
720
- "reflect": true
721
- },
722
- "compareWith": {
723
- "type": "string",
724
- "mutable": false,
725
- "complexType": {
726
- "original": "string | SelectCompareFn | null",
727
- "resolved": "((currentValue: any, compareValue: any) => boolean) | null | string | undefined",
728
- "references": {
729
- "SelectCompareFn": {
730
- "location": "import",
731
- "path": "./select-interface",
732
- "id": "src/components/select/select-interface.ts::SelectCompareFn"
733
- }
734
- }
735
- },
736
- "required": false,
737
- "optional": true,
738
- "docs": {
739
- "tags": [],
740
- "text": "A property name or function used to compare object values"
741
- },
742
- "attribute": "compare-with",
743
- "reflect": false
744
- },
745
- "disabled": {
746
- "type": "boolean",
747
- "mutable": false,
748
- "complexType": {
749
- "original": "boolean",
750
- "resolved": "boolean",
751
- "references": {}
752
- },
753
- "required": false,
754
- "optional": false,
755
- "docs": {
756
- "tags": [],
757
- "text": "If `true`, the user cannot interact with the select."
758
- },
759
- "attribute": "disabled",
760
- "reflect": false,
761
- "defaultValue": "false"
762
- },
763
- "fill": {
764
- "type": "string",
765
- "mutable": false,
766
- "complexType": {
767
- "original": "'outline' | 'solid'",
768
- "resolved": "\"outline\" | \"solid\" | undefined",
769
- "references": {}
770
- },
771
- "required": false,
772
- "optional": true,
773
- "docs": {
774
- "tags": [],
775
- "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
776
- },
777
- "attribute": "fill",
778
- "reflect": false
779
- },
780
- "interface": {
781
- "type": "string",
782
- "mutable": false,
783
- "complexType": {
784
- "original": "SelectInterface",
785
- "resolved": "\"action-sheet\" | \"alert\" | \"popover\"",
786
- "references": {
787
- "SelectInterface": {
788
- "location": "import",
789
- "path": "./select-interface",
790
- "id": "src/components/select/select-interface.ts::SelectInterface"
791
- }
792
- }
793
- },
794
- "required": false,
795
- "optional": false,
796
- "docs": {
797
- "tags": [],
798
- "text": "The interface the select should use: `action-sheet`, `popover` or `alert`."
799
- },
800
- "attribute": "interface",
801
- "reflect": false,
802
- "defaultValue": "'alert'"
803
- },
804
- "interfaceOptions": {
805
- "type": "any",
806
- "mutable": false,
807
- "complexType": {
808
- "original": "any",
809
- "resolved": "any",
810
- "references": {}
811
- },
812
- "required": false,
813
- "optional": false,
814
- "docs": {
815
- "tags": [],
816
- "text": "Any additional options that the `alert`, `action-sheet` or `popover` interface\ncan take. See the [ion-alert docs](./alert), the\n[ion-action-sheet docs](./action-sheet) and the\n[ion-popover docs](./popover) for the\ncreate options for each interface.\n\nNote: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface."
817
- },
818
- "attribute": "interface-options",
819
- "reflect": false,
820
- "defaultValue": "{}"
821
- },
822
- "justify": {
823
- "type": "string",
824
- "mutable": false,
825
- "complexType": {
826
- "original": "'start' | 'end' | 'space-between'",
827
- "resolved": "\"end\" | \"space-between\" | \"start\"",
828
- "references": {}
829
- },
830
- "required": false,
831
- "optional": false,
832
- "docs": {
833
- "tags": [],
834
- "text": "How to pack the label and select within a line.\n`justify` does not apply when the label and select\nare on different lines when `labelPlacement` is set to\n`\"floating\"` or `\"stacked\"`.\n`\"start\"`: The label and select will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and select will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and select will appear on opposite\nends of the line with space between the two elements."
835
- },
836
- "attribute": "justify",
837
- "reflect": false,
838
- "defaultValue": "'space-between'"
839
- },
840
- "label": {
841
- "type": "string",
842
- "mutable": false,
843
- "complexType": {
844
- "original": "string",
845
- "resolved": "string | undefined",
846
- "references": {}
847
- },
848
- "required": false,
849
- "optional": true,
850
- "docs": {
851
- "tags": [],
852
- "text": "The visible label associated with the select.\n\nUse this if you need to render a plaintext label.\n\nThe `label` property will take priority over the `label` slot if both are used."
853
- },
854
- "attribute": "label",
855
- "reflect": false
856
- },
857
- "labelPlacement": {
858
- "type": "string",
859
- "mutable": false,
860
- "complexType": {
861
- "original": "'start' | 'end' | 'floating' | 'stacked' | 'fixed'",
862
- "resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\" | undefined",
863
- "references": {}
864
- },
865
- "required": false,
866
- "optional": true,
867
- "docs": {
868
- "tags": [],
869
- "text": "Where to place the label relative to the select.\n`\"start\"`: The label will appear to the left of the select in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the select in LTR and to the left in RTL.\n`\"floating\"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.\n`\"stacked\"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\nWhen using `\"floating\"` or `\"stacked\"` we recommend initializing the select with either a `value` or a `placeholder`."
870
- },
871
- "attribute": "label-placement",
872
- "reflect": false,
873
- "defaultValue": "'start'"
874
- },
875
- "legacy": {
876
- "type": "boolean",
877
- "mutable": false,
878
- "complexType": {
879
- "original": "boolean",
880
- "resolved": "boolean | undefined",
881
- "references": {}
882
- },
883
- "required": false,
884
- "optional": true,
885
- "docs": {
886
- "tags": [],
887
- "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the `label` property. As a result,\nthe `legacy` property should only be used as an escape hatch when you want to\navoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
888
- },
889
- "attribute": "legacy",
890
- "reflect": false
891
- },
892
- "multiple": {
893
- "type": "boolean",
894
- "mutable": false,
895
- "complexType": {
896
- "original": "boolean",
897
- "resolved": "boolean",
898
- "references": {}
899
- },
900
- "required": false,
901
- "optional": false,
902
- "docs": {
903
- "tags": [],
904
- "text": "If `true`, the select can accept multiple values."
905
- },
906
- "attribute": "multiple",
907
- "reflect": false,
908
- "defaultValue": "false"
909
- },
910
- "name": {
911
- "type": "string",
912
- "mutable": false,
913
- "complexType": {
914
- "original": "string",
915
- "resolved": "string",
916
- "references": {}
917
- },
918
- "required": false,
919
- "optional": false,
920
- "docs": {
921
- "tags": [],
922
- "text": "The name of the control, which is submitted with the form data."
923
- },
924
- "attribute": "name",
925
- "reflect": false,
926
- "defaultValue": "this.inputId"
927
- },
928
- "okText": {
929
- "type": "string",
930
- "mutable": false,
931
- "complexType": {
932
- "original": "string",
933
- "resolved": "string",
934
- "references": {}
935
- },
936
- "required": false,
937
- "optional": false,
938
- "docs": {
939
- "tags": [],
940
- "text": "The text to display on the ok button."
941
- },
942
- "attribute": "ok-text",
943
- "reflect": false,
944
- "defaultValue": "'OK'"
945
- },
946
- "placeholder": {
947
- "type": "string",
948
- "mutable": false,
949
- "complexType": {
950
- "original": "string",
951
- "resolved": "string | undefined",
952
- "references": {}
953
- },
954
- "required": false,
955
- "optional": true,
956
- "docs": {
957
- "tags": [],
958
- "text": "The text to display when the select is empty."
959
- },
960
- "attribute": "placeholder",
961
- "reflect": false
962
- },
963
- "selectedText": {
964
- "type": "string",
965
- "mutable": false,
966
- "complexType": {
967
- "original": "string | null",
968
- "resolved": "null | string | undefined",
969
- "references": {}
970
- },
971
- "required": false,
972
- "optional": true,
973
- "docs": {
974
- "tags": [],
975
- "text": "The text to display instead of the selected option's value."
976
- },
977
- "attribute": "selected-text",
978
- "reflect": false
979
- },
980
- "toggleIcon": {
981
- "type": "string",
982
- "mutable": false,
983
- "complexType": {
984
- "original": "string",
985
- "resolved": "string | undefined",
986
- "references": {}
987
- },
988
- "required": false,
989
- "optional": true,
990
- "docs": {
991
- "tags": [],
992
- "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
993
- },
994
- "attribute": "toggle-icon",
995
- "reflect": false
996
- },
997
- "expandedIcon": {
998
- "type": "string",
999
- "mutable": false,
1000
- "complexType": {
1001
- "original": "string",
1002
- "resolved": "string | undefined",
1003
- "references": {}
1004
- },
1005
- "required": false,
1006
- "optional": true,
1007
- "docs": {
1008
- "tags": [],
1009
- "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1010
- },
1011
- "attribute": "expanded-icon",
1012
- "reflect": false
1013
- },
1014
- "shape": {
1015
- "type": "string",
1016
- "mutable": false,
1017
- "complexType": {
1018
- "original": "'round'",
1019
- "resolved": "\"round\" | undefined",
1020
- "references": {}
1021
- },
1022
- "required": false,
1023
- "optional": true,
1024
- "docs": {
1025
- "tags": [],
1026
- "text": "The shape of the select. If \"round\" it will have an increased border radius."
1027
- },
1028
- "attribute": "shape",
1029
- "reflect": false
1030
- },
1031
- "value": {
1032
- "type": "any",
1033
- "mutable": true,
1034
- "complexType": {
1035
- "original": "any | null",
1036
- "resolved": "any",
1037
- "references": {}
1038
- },
1039
- "required": false,
1040
- "optional": true,
1041
- "docs": {
1042
- "tags": [],
1043
- "text": "The value of the select."
1044
- },
1045
- "attribute": "value",
1046
- "reflect": false
1047
- }
1048
- };
1049
- }
1050
- static get states() {
1051
- return {
1052
- "isExpanded": {}
1053
- };
1054
- }
1055
- static get events() {
1056
- return [{
1057
- "method": "ionChange",
1058
- "name": "ionChange",
1059
- "bubbles": true,
1060
- "cancelable": true,
1061
- "composed": true,
1062
- "docs": {
1063
- "tags": [],
1064
- "text": "Emitted when the value has changed."
1065
- },
1066
- "complexType": {
1067
- "original": "SelectChangeEventDetail",
1068
- "resolved": "SelectChangeEventDetail<any>",
1069
- "references": {
1070
- "SelectChangeEventDetail": {
1071
- "location": "import",
1072
- "path": "./select-interface",
1073
- "id": "src/components/select/select-interface.ts::SelectChangeEventDetail"
1074
- }
1075
- }
617
+ renderSelectIcon() {
618
+ const mode = getIonMode(this);
619
+ const { isExpanded, toggleIcon, expandedIcon } = this;
620
+ let icon;
621
+ if (isExpanded && expandedIcon !== undefined) {
622
+ icon = expandedIcon;
1076
623
  }
1077
- }, {
1078
- "method": "ionCancel",
1079
- "name": "ionCancel",
1080
- "bubbles": true,
1081
- "cancelable": true,
1082
- "composed": true,
1083
- "docs": {
1084
- "tags": [],
1085
- "text": "Emitted when the selection is cancelled."
1086
- },
1087
- "complexType": {
1088
- "original": "void",
1089
- "resolved": "void",
1090
- "references": {}
624
+ else {
625
+ const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;
626
+ icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;
1091
627
  }
1092
- }, {
1093
- "method": "ionDismiss",
1094
- "name": "ionDismiss",
1095
- "bubbles": true,
1096
- "cancelable": true,
1097
- "composed": true,
1098
- "docs": {
1099
- "tags": [],
1100
- "text": "Emitted when the overlay is dismissed."
1101
- },
1102
- "complexType": {
1103
- "original": "void",
1104
- "resolved": "void",
1105
- "references": {}
1106
- }
1107
- }, {
1108
- "method": "ionFocus",
1109
- "name": "ionFocus",
1110
- "bubbles": true,
1111
- "cancelable": true,
1112
- "composed": true,
1113
- "docs": {
1114
- "tags": [],
1115
- "text": "Emitted when the select has focus."
1116
- },
1117
- "complexType": {
1118
- "original": "void",
1119
- "resolved": "void",
1120
- "references": {}
1121
- }
1122
- }, {
1123
- "method": "ionBlur",
1124
- "name": "ionBlur",
1125
- "bubbles": true,
1126
- "cancelable": true,
1127
- "composed": true,
1128
- "docs": {
1129
- "tags": [],
1130
- "text": "Emitted when the select loses focus."
1131
- },
1132
- "complexType": {
1133
- "original": "void",
1134
- "resolved": "void",
1135
- "references": {}
628
+ return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
629
+ }
630
+ get ariaLabel() {
631
+ var _a, _b;
632
+ const { placeholder, el, inputId, inheritedAttributes } = this;
633
+ const displayValue = this.getText();
634
+ const { labelText } = getAriaLabel(el, inputId);
635
+ const definedLabel = (_b = (_a = this.labelText) !== null && _a !== void 0 ? _a : inheritedAttributes['aria-label']) !== null && _b !== void 0 ? _b : labelText;
636
+ /**
637
+ * If developer has specified a placeholder
638
+ * and there is nothing selected, the selectText
639
+ * should have the placeholder value.
640
+ */
641
+ let renderedLabel = displayValue;
642
+ if (renderedLabel === '' && placeholder !== undefined) {
643
+ renderedLabel = placeholder;
1136
644
  }
1137
- }, {
1138
- "method": "ionStyle",
1139
- "name": "ionStyle",
1140
- "bubbles": true,
1141
- "cancelable": true,
1142
- "composed": true,
1143
- "docs": {
1144
- "tags": [{
1145
- "name": "internal",
1146
- "text": undefined
1147
- }],
1148
- "text": "Emitted when the styles change."
1149
- },
1150
- "complexType": {
1151
- "original": "StyleEventDetail",
1152
- "resolved": "StyleEventDetail",
1153
- "references": {
1154
- "StyleEventDetail": {
1155
- "location": "import",
1156
- "path": "../../interface",
1157
- "id": "src/interface.d.ts::StyleEventDetail"
1158
- }
1159
- }
645
+ /**
646
+ * If there is a developer-defined label,
647
+ * then we need to concatenate the developer label
648
+ * string with the current current value.
649
+ * The label for the control should be read
650
+ * before the values of the control.
651
+ */
652
+ if (definedLabel !== undefined) {
653
+ renderedLabel = renderedLabel === '' ? definedLabel : `${definedLabel}, ${renderedLabel}`;
1160
654
  }
1161
- }];
1162
- }
1163
- static get methods() {
1164
- return {
1165
- "open": {
1166
- "complexType": {
1167
- "signature": "(event?: UIEvent) => Promise<any>",
1168
- "parameters": [{
1169
- "tags": [{
1170
- "name": "param",
1171
- "text": "event The user interface event that called the open."
1172
- }],
1173
- "text": "The user interface event that called the open."
1174
- }],
1175
- "references": {
1176
- "Promise": {
1177
- "location": "global",
1178
- "id": "global::Promise"
655
+ return renderedLabel;
656
+ }
657
+ renderListbox() {
658
+ const { disabled, inputId, isExpanded } = this;
659
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
660
+ }
661
+ render() {
662
+ const { legacyFormController } = this;
663
+ return legacyFormController.hasLegacyControl() ? this.renderLegacySelect() : this.renderSelect();
664
+ }
665
+ static get is() { return "ion-select"; }
666
+ static get encapsulation() { return "shadow"; }
667
+ static get originalStyleUrls() {
668
+ return {
669
+ "ios": ["select.ios.scss"],
670
+ "md": ["select.md.scss"]
671
+ };
672
+ }
673
+ static get styleUrls() {
674
+ return {
675
+ "ios": ["select.ios.css"],
676
+ "md": ["select.md.css"]
677
+ };
678
+ }
679
+ static get properties() {
680
+ return {
681
+ "cancelText": {
682
+ "type": "string",
683
+ "mutable": false,
684
+ "complexType": {
685
+ "original": "string",
686
+ "resolved": "string",
687
+ "references": {}
688
+ },
689
+ "required": false,
690
+ "optional": false,
691
+ "docs": {
692
+ "tags": [],
693
+ "text": "The text to display on the cancel button."
694
+ },
695
+ "attribute": "cancel-text",
696
+ "reflect": false,
697
+ "defaultValue": "'Cancel'"
698
+ },
699
+ "color": {
700
+ "type": "string",
701
+ "mutable": false,
702
+ "complexType": {
703
+ "original": "Color",
704
+ "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
705
+ "references": {
706
+ "Color": {
707
+ "location": "import",
708
+ "path": "../../interface",
709
+ "id": "src/interface.d.ts::Color"
710
+ }
711
+ }
712
+ },
713
+ "required": false,
714
+ "optional": true,
715
+ "docs": {
716
+ "tags": [],
717
+ "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics).\n\nThis property is only available when using the modern select syntax."
718
+ },
719
+ "attribute": "color",
720
+ "reflect": true
721
+ },
722
+ "compareWith": {
723
+ "type": "string",
724
+ "mutable": false,
725
+ "complexType": {
726
+ "original": "string | SelectCompareFn | null",
727
+ "resolved": "((currentValue: any, compareValue: any) => boolean) | null | string | undefined",
728
+ "references": {
729
+ "SelectCompareFn": {
730
+ "location": "import",
731
+ "path": "./select-interface",
732
+ "id": "src/components/select/select-interface.ts::SelectCompareFn"
733
+ }
734
+ }
735
+ },
736
+ "required": false,
737
+ "optional": true,
738
+ "docs": {
739
+ "tags": [],
740
+ "text": "A property name or function used to compare object values"
741
+ },
742
+ "attribute": "compare-with",
743
+ "reflect": false
744
+ },
745
+ "disabled": {
746
+ "type": "boolean",
747
+ "mutable": false,
748
+ "complexType": {
749
+ "original": "boolean",
750
+ "resolved": "boolean",
751
+ "references": {}
752
+ },
753
+ "required": false,
754
+ "optional": false,
755
+ "docs": {
756
+ "tags": [],
757
+ "text": "If `true`, the user cannot interact with the select."
758
+ },
759
+ "attribute": "disabled",
760
+ "reflect": false,
761
+ "defaultValue": "false"
762
+ },
763
+ "fill": {
764
+ "type": "string",
765
+ "mutable": false,
766
+ "complexType": {
767
+ "original": "'outline' | 'solid'",
768
+ "resolved": "\"outline\" | \"solid\" | undefined",
769
+ "references": {}
770
+ },
771
+ "required": false,
772
+ "optional": true,
773
+ "docs": {
774
+ "tags": [],
775
+ "text": "The fill for the item. If `\"solid\"` the item will have a background. If\n`\"outline\"` the item will be transparent with a border. Only available in `md` mode."
776
+ },
777
+ "attribute": "fill",
778
+ "reflect": false
779
+ },
780
+ "interface": {
781
+ "type": "string",
782
+ "mutable": false,
783
+ "complexType": {
784
+ "original": "SelectInterface",
785
+ "resolved": "\"action-sheet\" | \"alert\" | \"popover\"",
786
+ "references": {
787
+ "SelectInterface": {
788
+ "location": "import",
789
+ "path": "./select-interface",
790
+ "id": "src/components/select/select-interface.ts::SelectInterface"
791
+ }
792
+ }
793
+ },
794
+ "required": false,
795
+ "optional": false,
796
+ "docs": {
797
+ "tags": [],
798
+ "text": "The interface the select should use: `action-sheet`, `popover` or `alert`."
799
+ },
800
+ "attribute": "interface",
801
+ "reflect": false,
802
+ "defaultValue": "'alert'"
803
+ },
804
+ "interfaceOptions": {
805
+ "type": "any",
806
+ "mutable": false,
807
+ "complexType": {
808
+ "original": "any",
809
+ "resolved": "any",
810
+ "references": {}
811
+ },
812
+ "required": false,
813
+ "optional": false,
814
+ "docs": {
815
+ "tags": [],
816
+ "text": "Any additional options that the `alert`, `action-sheet` or `popover` interface\ncan take. See the [ion-alert docs](./alert), the\n[ion-action-sheet docs](./action-sheet) and the\n[ion-popover docs](./popover) for the\ncreate options for each interface.\n\nNote: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface."
817
+ },
818
+ "attribute": "interface-options",
819
+ "reflect": false,
820
+ "defaultValue": "{}"
821
+ },
822
+ "justify": {
823
+ "type": "string",
824
+ "mutable": false,
825
+ "complexType": {
826
+ "original": "'start' | 'end' | 'space-between'",
827
+ "resolved": "\"end\" | \"space-between\" | \"start\"",
828
+ "references": {}
829
+ },
830
+ "required": false,
831
+ "optional": false,
832
+ "docs": {
833
+ "tags": [],
834
+ "text": "How to pack the label and select within a line.\n`justify` does not apply when the label and select\nare on different lines when `labelPlacement` is set to\n`\"floating\"` or `\"stacked\"`.\n`\"start\"`: The label and select will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and select will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and select will appear on opposite\nends of the line with space between the two elements."
835
+ },
836
+ "attribute": "justify",
837
+ "reflect": false,
838
+ "defaultValue": "'space-between'"
1179
839
  },
1180
- "UIEvent": {
1181
- "location": "global",
1182
- "id": "global::UIEvent"
840
+ "label": {
841
+ "type": "string",
842
+ "mutable": false,
843
+ "complexType": {
844
+ "original": "string",
845
+ "resolved": "string | undefined",
846
+ "references": {}
847
+ },
848
+ "required": false,
849
+ "optional": true,
850
+ "docs": {
851
+ "tags": [],
852
+ "text": "The visible label associated with the select.\n\nUse this if you need to render a plaintext label.\n\nThe `label` property will take priority over the `label` slot if both are used."
853
+ },
854
+ "attribute": "label",
855
+ "reflect": false
1183
856
  },
1184
- "HTMLElement": {
1185
- "location": "global",
1186
- "id": "global::HTMLElement"
857
+ "labelPlacement": {
858
+ "type": "string",
859
+ "mutable": false,
860
+ "complexType": {
861
+ "original": "'start' | 'end' | 'floating' | 'stacked' | 'fixed'",
862
+ "resolved": "\"end\" | \"fixed\" | \"floating\" | \"stacked\" | \"start\" | undefined",
863
+ "references": {}
864
+ },
865
+ "required": false,
866
+ "optional": true,
867
+ "docs": {
868
+ "tags": [],
869
+ "text": "Where to place the label relative to the select.\n`\"start\"`: The label will appear to the left of the select in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the select in LTR and to the left in RTL.\n`\"floating\"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.\n`\"stacked\"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\nWhen using `\"floating\"` or `\"stacked\"` we recommend initializing the select with either a `value` or a `placeholder`."
870
+ },
871
+ "attribute": "label-placement",
872
+ "reflect": false,
873
+ "defaultValue": "'start'"
874
+ },
875
+ "legacy": {
876
+ "type": "boolean",
877
+ "mutable": false,
878
+ "complexType": {
879
+ "original": "boolean",
880
+ "resolved": "boolean | undefined",
881
+ "references": {}
882
+ },
883
+ "required": false,
884
+ "optional": true,
885
+ "docs": {
886
+ "tags": [],
887
+ "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the `label` property. As a result,\nthe `legacy` property should only be used as an escape hatch when you want to\navoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
888
+ },
889
+ "attribute": "legacy",
890
+ "reflect": false
891
+ },
892
+ "multiple": {
893
+ "type": "boolean",
894
+ "mutable": false,
895
+ "complexType": {
896
+ "original": "boolean",
897
+ "resolved": "boolean",
898
+ "references": {}
899
+ },
900
+ "required": false,
901
+ "optional": false,
902
+ "docs": {
903
+ "tags": [],
904
+ "text": "If `true`, the select can accept multiple values."
905
+ },
906
+ "attribute": "multiple",
907
+ "reflect": false,
908
+ "defaultValue": "false"
909
+ },
910
+ "name": {
911
+ "type": "string",
912
+ "mutable": false,
913
+ "complexType": {
914
+ "original": "string",
915
+ "resolved": "string",
916
+ "references": {}
917
+ },
918
+ "required": false,
919
+ "optional": false,
920
+ "docs": {
921
+ "tags": [],
922
+ "text": "The name of the control, which is submitted with the form data."
923
+ },
924
+ "attribute": "name",
925
+ "reflect": false,
926
+ "defaultValue": "this.inputId"
927
+ },
928
+ "okText": {
929
+ "type": "string",
930
+ "mutable": false,
931
+ "complexType": {
932
+ "original": "string",
933
+ "resolved": "string",
934
+ "references": {}
935
+ },
936
+ "required": false,
937
+ "optional": false,
938
+ "docs": {
939
+ "tags": [],
940
+ "text": "The text to display on the ok button."
941
+ },
942
+ "attribute": "ok-text",
943
+ "reflect": false,
944
+ "defaultValue": "'OK'"
945
+ },
946
+ "placeholder": {
947
+ "type": "string",
948
+ "mutable": false,
949
+ "complexType": {
950
+ "original": "string",
951
+ "resolved": "string | undefined",
952
+ "references": {}
953
+ },
954
+ "required": false,
955
+ "optional": true,
956
+ "docs": {
957
+ "tags": [],
958
+ "text": "The text to display when the select is empty."
959
+ },
960
+ "attribute": "placeholder",
961
+ "reflect": false
962
+ },
963
+ "selectedText": {
964
+ "type": "string",
965
+ "mutable": false,
966
+ "complexType": {
967
+ "original": "string | null",
968
+ "resolved": "null | string | undefined",
969
+ "references": {}
970
+ },
971
+ "required": false,
972
+ "optional": true,
973
+ "docs": {
974
+ "tags": [],
975
+ "text": "The text to display instead of the selected option's value."
976
+ },
977
+ "attribute": "selected-text",
978
+ "reflect": false
979
+ },
980
+ "toggleIcon": {
981
+ "type": "string",
982
+ "mutable": false,
983
+ "complexType": {
984
+ "original": "string",
985
+ "resolved": "string | undefined",
986
+ "references": {}
987
+ },
988
+ "required": false,
989
+ "optional": true,
990
+ "docs": {
991
+ "tags": [],
992
+ "text": "The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\nor `caretDownSharp` for `md` mode."
993
+ },
994
+ "attribute": "toggle-icon",
995
+ "reflect": false
996
+ },
997
+ "expandedIcon": {
998
+ "type": "string",
999
+ "mutable": false,
1000
+ "complexType": {
1001
+ "original": "string",
1002
+ "resolved": "string | undefined",
1003
+ "references": {}
1004
+ },
1005
+ "required": false,
1006
+ "optional": true,
1007
+ "docs": {
1008
+ "tags": [],
1009
+ "text": "The toggle icon to show when the select is open. If defined, the icon\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\nwill be used for when the select is both open and closed."
1010
+ },
1011
+ "attribute": "expanded-icon",
1012
+ "reflect": false
1013
+ },
1014
+ "shape": {
1015
+ "type": "string",
1016
+ "mutable": false,
1017
+ "complexType": {
1018
+ "original": "'round'",
1019
+ "resolved": "\"round\" | undefined",
1020
+ "references": {}
1021
+ },
1022
+ "required": false,
1023
+ "optional": true,
1024
+ "docs": {
1025
+ "tags": [],
1026
+ "text": "The shape of the select. If \"round\" it will have an increased border radius."
1027
+ },
1028
+ "attribute": "shape",
1029
+ "reflect": false
1030
+ },
1031
+ "value": {
1032
+ "type": "any",
1033
+ "mutable": true,
1034
+ "complexType": {
1035
+ "original": "any | null",
1036
+ "resolved": "any",
1037
+ "references": {}
1038
+ },
1039
+ "required": false,
1040
+ "optional": true,
1041
+ "docs": {
1042
+ "tags": [],
1043
+ "text": "The value of the select."
1044
+ },
1045
+ "attribute": "value",
1046
+ "reflect": false
1187
1047
  }
1188
- },
1189
- "return": "Promise<any>"
1190
- },
1191
- "docs": {
1192
- "text": "Open the select overlay. The overlay is either an alert, action sheet, or popover,\ndepending on the `interface` property on the `ion-select`.",
1193
- "tags": [{
1194
- "name": "param",
1195
- "text": "event The user interface event that called the open."
1196
- }]
1197
- }
1198
- }
1199
- };
1200
- }
1201
- static get elementRef() { return "el"; }
1202
- static get watchers() {
1203
- return [{
1204
- "propName": "disabled",
1205
- "methodName": "styleChanged"
1206
- }, {
1207
- "propName": "isExpanded",
1208
- "methodName": "styleChanged"
1209
- }, {
1210
- "propName": "placeholder",
1211
- "methodName": "styleChanged"
1212
- }, {
1213
- "propName": "value",
1214
- "methodName": "styleChanged"
1215
- }];
1216
- }
1048
+ };
1049
+ }
1050
+ static get states() {
1051
+ return {
1052
+ "isExpanded": {}
1053
+ };
1054
+ }
1055
+ static get events() {
1056
+ return [{
1057
+ "method": "ionChange",
1058
+ "name": "ionChange",
1059
+ "bubbles": true,
1060
+ "cancelable": true,
1061
+ "composed": true,
1062
+ "docs": {
1063
+ "tags": [],
1064
+ "text": "Emitted when the value has changed."
1065
+ },
1066
+ "complexType": {
1067
+ "original": "SelectChangeEventDetail",
1068
+ "resolved": "SelectChangeEventDetail<any>",
1069
+ "references": {
1070
+ "SelectChangeEventDetail": {
1071
+ "location": "import",
1072
+ "path": "./select-interface",
1073
+ "id": "src/components/select/select-interface.ts::SelectChangeEventDetail"
1074
+ }
1075
+ }
1076
+ }
1077
+ }, {
1078
+ "method": "ionCancel",
1079
+ "name": "ionCancel",
1080
+ "bubbles": true,
1081
+ "cancelable": true,
1082
+ "composed": true,
1083
+ "docs": {
1084
+ "tags": [],
1085
+ "text": "Emitted when the selection is cancelled."
1086
+ },
1087
+ "complexType": {
1088
+ "original": "void",
1089
+ "resolved": "void",
1090
+ "references": {}
1091
+ }
1092
+ }, {
1093
+ "method": "ionDismiss",
1094
+ "name": "ionDismiss",
1095
+ "bubbles": true,
1096
+ "cancelable": true,
1097
+ "composed": true,
1098
+ "docs": {
1099
+ "tags": [],
1100
+ "text": "Emitted when the overlay is dismissed."
1101
+ },
1102
+ "complexType": {
1103
+ "original": "void",
1104
+ "resolved": "void",
1105
+ "references": {}
1106
+ }
1107
+ }, {
1108
+ "method": "ionFocus",
1109
+ "name": "ionFocus",
1110
+ "bubbles": true,
1111
+ "cancelable": true,
1112
+ "composed": true,
1113
+ "docs": {
1114
+ "tags": [],
1115
+ "text": "Emitted when the select has focus."
1116
+ },
1117
+ "complexType": {
1118
+ "original": "void",
1119
+ "resolved": "void",
1120
+ "references": {}
1121
+ }
1122
+ }, {
1123
+ "method": "ionBlur",
1124
+ "name": "ionBlur",
1125
+ "bubbles": true,
1126
+ "cancelable": true,
1127
+ "composed": true,
1128
+ "docs": {
1129
+ "tags": [],
1130
+ "text": "Emitted when the select loses focus."
1131
+ },
1132
+ "complexType": {
1133
+ "original": "void",
1134
+ "resolved": "void",
1135
+ "references": {}
1136
+ }
1137
+ }, {
1138
+ "method": "ionStyle",
1139
+ "name": "ionStyle",
1140
+ "bubbles": true,
1141
+ "cancelable": true,
1142
+ "composed": true,
1143
+ "docs": {
1144
+ "tags": [{
1145
+ "name": "internal",
1146
+ "text": undefined
1147
+ }],
1148
+ "text": "Emitted when the styles change."
1149
+ },
1150
+ "complexType": {
1151
+ "original": "StyleEventDetail",
1152
+ "resolved": "StyleEventDetail",
1153
+ "references": {
1154
+ "StyleEventDetail": {
1155
+ "location": "import",
1156
+ "path": "../../interface",
1157
+ "id": "src/interface.d.ts::StyleEventDetail"
1158
+ }
1159
+ }
1160
+ }
1161
+ }];
1162
+ }
1163
+ static get methods() {
1164
+ return {
1165
+ "open": {
1166
+ "complexType": {
1167
+ "signature": "(event?: UIEvent) => Promise<any>",
1168
+ "parameters": [{
1169
+ "tags": [{
1170
+ "name": "param",
1171
+ "text": "event The user interface event that called the open."
1172
+ }],
1173
+ "text": "The user interface event that called the open."
1174
+ }],
1175
+ "references": {
1176
+ "Promise": {
1177
+ "location": "global",
1178
+ "id": "global::Promise"
1179
+ },
1180
+ "UIEvent": {
1181
+ "location": "global",
1182
+ "id": "global::UIEvent"
1183
+ },
1184
+ "HTMLElement": {
1185
+ "location": "global",
1186
+ "id": "global::HTMLElement"
1187
+ }
1188
+ },
1189
+ "return": "Promise<any>"
1190
+ },
1191
+ "docs": {
1192
+ "text": "Open the select overlay. The overlay is either an alert, action sheet, or popover,\ndepending on the `interface` property on the `ion-select`.",
1193
+ "tags": [{
1194
+ "name": "param",
1195
+ "text": "event The user interface event that called the open."
1196
+ }]
1197
+ }
1198
+ }
1199
+ };
1200
+ }
1201
+ static get elementRef() { return "el"; }
1202
+ static get watchers() {
1203
+ return [{
1204
+ "propName": "disabled",
1205
+ "methodName": "styleChanged"
1206
+ }, {
1207
+ "propName": "isExpanded",
1208
+ "methodName": "styleChanged"
1209
+ }, {
1210
+ "propName": "placeholder",
1211
+ "methodName": "styleChanged"
1212
+ }, {
1213
+ "propName": "value",
1214
+ "methodName": "styleChanged"
1215
+ }];
1216
+ }
1217
1217
  }
1218
1218
  const isOptionSelected = (currentValue, compareValue, compareWith) => {
1219
- if (currentValue === undefined) {
1220
- return false;
1221
- }
1222
- if (Array.isArray(currentValue)) {
1223
- return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
1224
- }
1225
- else {
1226
- return compareOptions(currentValue, compareValue, compareWith);
1227
- }
1219
+ if (currentValue === undefined) {
1220
+ return false;
1221
+ }
1222
+ if (Array.isArray(currentValue)) {
1223
+ return currentValue.some((val) => compareOptions(val, compareValue, compareWith));
1224
+ }
1225
+ else {
1226
+ return compareOptions(currentValue, compareValue, compareWith);
1227
+ }
1228
1228
  };
1229
1229
  const getOptionValue = (el) => {
1230
- const value = el.value;
1231
- return value === undefined ? el.textContent || '' : value;
1230
+ const value = el.value;
1231
+ return value === undefined ? el.textContent || '' : value;
1232
1232
  };
1233
1233
  const parseValue = (value) => {
1234
- if (value == null) {
1235
- return undefined;
1236
- }
1237
- if (Array.isArray(value)) {
1238
- return value.join(',');
1239
- }
1240
- return value.toString();
1234
+ if (value == null) {
1235
+ return undefined;
1236
+ }
1237
+ if (Array.isArray(value)) {
1238
+ return value.join(',');
1239
+ }
1240
+ return value.toString();
1241
1241
  };
1242
1242
  const compareOptions = (currentValue, compareValue, compareWith) => {
1243
- if (typeof compareWith === 'function') {
1244
- return compareWith(currentValue, compareValue);
1245
- }
1246
- else if (typeof compareWith === 'string') {
1247
- return currentValue[compareWith] === compareValue[compareWith];
1248
- }
1249
- else {
1250
- return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
1251
- }
1243
+ if (typeof compareWith === 'function') {
1244
+ return compareWith(currentValue, compareValue);
1245
+ }
1246
+ else if (typeof compareWith === 'string') {
1247
+ return currentValue[compareWith] === compareValue[compareWith];
1248
+ }
1249
+ else {
1250
+ return Array.isArray(compareValue) ? compareValue.includes(currentValue) : currentValue === compareValue;
1251
+ }
1252
1252
  };
1253
1253
  const generateText = (opts, value, compareWith) => {
1254
- if (value === undefined) {
1255
- return '';
1256
- }
1257
- if (Array.isArray(value)) {
1258
- return value
1259
- .map((v) => textForValue(opts, v, compareWith))
1260
- .filter((opt) => opt !== null)
1261
- .join(', ');
1262
- }
1263
- else {
1264
- return textForValue(opts, value, compareWith) || '';
1265
- }
1254
+ if (value === undefined) {
1255
+ return '';
1256
+ }
1257
+ if (Array.isArray(value)) {
1258
+ return value
1259
+ .map((v) => textForValue(opts, v, compareWith))
1260
+ .filter((opt) => opt !== null)
1261
+ .join(', ');
1262
+ }
1263
+ else {
1264
+ return textForValue(opts, value, compareWith) || '';
1265
+ }
1266
1266
  };
1267
1267
  const textForValue = (opts, value, compareWith) => {
1268
- const selectOpt = opts.find((opt) => {
1269
- return compareOptions(value, getOptionValue(opt), compareWith);
1270
- });
1271
- return selectOpt ? selectOpt.textContent : null;
1268
+ const selectOpt = opts.find((opt) => {
1269
+ return compareOptions(value, getOptionValue(opt), compareWith);
1270
+ });
1271
+ return selectOpt ? selectOpt.textContent : null;
1272
1272
  };
1273
1273
  let selectIds = 0;
1274
1274
  const OPTION_CLASS = 'select-interface-option';