@ionic/core 8.8.14-dev.11783706459.1d5a7aae → 8.8.14-dev.11783969828.1f28d893

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 (370) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-infinite-scroll-content.js +1 -1
  12. package/components/ion-input-password-toggle.js +1 -1
  13. package/components/ion-input.js +1 -1
  14. package/components/ion-item-option.js +1 -1
  15. package/components/ion-item.js +1 -1
  16. package/components/ion-loading.js +1 -1
  17. package/components/ion-menu-button.js +1 -1
  18. package/components/ion-menu.js +1 -1
  19. package/components/ion-modal.js +1 -1
  20. package/components/ion-picker-column-option.js +1 -1
  21. package/components/ion-picker-column.js +1 -1
  22. package/components/ion-picker-legacy-column.d.ts +11 -0
  23. package/components/ion-picker-legacy-column.js +4 -0
  24. package/components/ion-picker-legacy.d.ts +11 -0
  25. package/components/ion-picker-legacy.js +4 -0
  26. package/components/ion-popover.js +1 -1
  27. package/components/ion-progress-bar.js +1 -1
  28. package/components/ion-radio.js +1 -1
  29. package/components/ion-range.js +1 -1
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-ripple-effect.js +1 -1
  35. package/components/ion-router-link.js +1 -1
  36. package/components/ion-router-outlet.js +1 -1
  37. package/components/ion-row.js +1 -1
  38. package/components/ion-searchbar.js +1 -1
  39. package/components/ion-segment-button.js +1 -1
  40. package/components/ion-segment-content.js +1 -1
  41. package/components/ion-segment-view.js +1 -1
  42. package/components/ion-segment.js +1 -1
  43. package/components/ion-select-modal.js +1 -1
  44. package/components/ion-select-option.js +1 -1
  45. package/components/ion-select-popover.js +1 -1
  46. package/components/ion-select.js +1 -1
  47. package/components/ion-skeleton-text.js +1 -1
  48. package/components/ion-spinner.js +1 -1
  49. package/components/ion-split-pane.js +1 -1
  50. package/components/ion-tab-bar.js +1 -1
  51. package/components/ion-tab-button.js +1 -1
  52. package/components/ion-tab.js +1 -1
  53. package/components/ion-tabs.js +1 -1
  54. package/components/ion-text.js +1 -1
  55. package/components/ion-textarea.js +1 -1
  56. package/components/ion-thumbnail.js +1 -1
  57. package/components/ion-title.js +1 -1
  58. package/components/ion-toast.js +1 -1
  59. package/components/ion-toggle.js +1 -1
  60. package/components/ion-toolbar.js +1 -1
  61. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  62. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  63. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  64. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  65. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  66. package/components/p-BUcrNuxp.js +4 -0
  67. package/components/p-BjfgFSSR.js +4 -0
  68. package/components/p-BsPelv04.js +4 -0
  69. package/components/p-BylFVz1e.js +4 -0
  70. package/components/p-CMVYv6xu.js +4 -0
  71. package/components/p-CSRA1aW0.js +4 -0
  72. package/components/p-CU5rbWAW.js +4 -0
  73. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  74. package/components/p-Ch5WJNJF.js +4 -0
  75. package/components/p-DoL_wAtc.js +4 -0
  76. package/components/p-k_E4tX5Z.js +4 -0
  77. package/components/p-qiecYdXI.js +4 -0
  78. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  79. package/dist/cjs/config-xninhj0J.js +201 -0
  80. package/dist/cjs/index.cjs.js +6 -6
  81. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  82. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  83. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  84. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -4
  87. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +656 -12
  88. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  89. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  92. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  93. package/dist/cjs/ion-modal.cjs.entry.js +31 -23
  94. package/dist/cjs/ion-picker-column-option.cjs.entry.js +9 -3
  95. package/dist/cjs/ion-picker-column.cjs.entry.js +10 -4
  96. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  97. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  99. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  100. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  101. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  103. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  105. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  106. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  109. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  110. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  111. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  112. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  113. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  114. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  115. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  117. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  118. package/dist/cjs/ionic.cjs.js +1 -1
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-BeMrOwMt.js} +16 -27
  121. package/dist/collection/collection-manifest.json +10 -6
  122. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  123. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  124. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  125. package/dist/collection/components/alert/alert.ios.css +10 -280
  126. package/dist/collection/components/alert/alert.js +21 -59
  127. package/dist/collection/components/alert/alert.md.css +20 -269
  128. package/dist/collection/components/datetime/datetime.ios.css +2 -42
  129. package/dist/collection/components/datetime/datetime.js +17 -10
  130. package/dist/collection/components/datetime/datetime.md.css +1 -42
  131. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
  132. package/dist/collection/components/datetime-button/datetime-button.js +10 -3
  133. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
  134. package/dist/collection/components/input/input.js +8 -8
  135. package/dist/collection/components/loading/loading.js +3 -7
  136. package/dist/collection/components/modal/gestures/sheet.js +8 -0
  137. package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
  138. package/dist/collection/components/modal/modal.ios.css +8 -0
  139. package/dist/collection/components/modal/modal.js +15 -23
  140. package/dist/collection/components/modal/modal.md.css +8 -0
  141. package/dist/collection/components/picker-column/picker-column.css +0 -3
  142. package/dist/collection/components/picker-column/picker-column.js +11 -4
  143. package/dist/collection/components/picker-column-option/picker-column-option.js +10 -3
  144. package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
  145. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  146. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  147. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  148. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  149. package/dist/collection/components/picker-legacy/picker.js +890 -0
  150. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  151. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  152. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  153. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  154. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  155. package/dist/collection/components/popover/popover.ios.css +0 -15
  156. package/dist/collection/components/popover/popover.js +3 -7
  157. package/dist/collection/components/popover/popover.md.css +0 -15
  158. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  159. package/dist/collection/components/radio/radio.js +4 -4
  160. package/dist/collection/components/range/range.js +3 -3
  161. package/dist/collection/components/refresher/refresher.js +1 -1
  162. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  163. package/dist/collection/components/reorder/reorder.js +1 -1
  164. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  165. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  166. package/dist/collection/components/router-link/router-link.js +2 -2
  167. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  168. package/dist/collection/components/row/row.js +1 -1
  169. package/dist/collection/components/searchbar/searchbar.js +9 -9
  170. package/dist/collection/components/segment/segment.js +2 -2
  171. package/dist/collection/components/segment-button/segment-button.js +2 -2
  172. package/dist/collection/components/segment-content/segment-content.js +1 -1
  173. package/dist/collection/components/segment-view/segment-view.js +2 -2
  174. package/dist/collection/components/select/select.ios.css +0 -33
  175. package/dist/collection/components/select/select.js +16 -323
  176. package/dist/collection/components/select/select.md.css +0 -33
  177. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  178. package/dist/collection/components/select-modal/select-modal.js +26 -79
  179. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  180. package/dist/collection/components/select-option/select-option.js +3 -67
  181. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  182. package/dist/collection/components/select-popover/select-popover.js +26 -78
  183. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  184. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  185. package/dist/collection/components/spinner/spinner.js +1 -1
  186. package/dist/collection/components/split-pane/split-pane.js +2 -2
  187. package/dist/collection/components/tab/tab.js +2 -2
  188. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  189. package/dist/collection/components/tab-button/tab-button.js +2 -2
  190. package/dist/collection/components/tabs/tabs.js +1 -1
  191. package/dist/collection/components/text/text.js +2 -2
  192. package/dist/collection/components/textarea/textarea.js +2 -2
  193. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  194. package/dist/collection/components/title/title.js +2 -2
  195. package/dist/collection/components/toast/toast.js +2 -2
  196. package/dist/collection/components/toggle/toggle.js +3 -3
  197. package/dist/collection/components/toolbar/toolbar.js +2 -2
  198. package/dist/collection/index.js +1 -1
  199. package/dist/collection/utils/overlays.js +15 -26
  200. package/dist/collection/utils/sanitization/index.js +18 -274
  201. package/dist/docs.json +1160 -440
  202. package/dist/esm/config-DQCONYYp.js +195 -0
  203. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  204. package/dist/esm/index.js +2 -3
  205. package/dist/esm/ion-accordion_2.entry.js +1 -1
  206. package/dist/esm/ion-action-sheet.entry.js +7 -27
  207. package/dist/esm/ion-alert.entry.js +24 -63
  208. package/dist/esm/ion-app_8.entry.js +9 -23
  209. package/dist/esm/ion-avatar_3.entry.js +1 -1
  210. package/dist/esm/ion-back-button.entry.js +1 -1
  211. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  212. package/dist/esm/ion-col_3.entry.js +1 -1
  213. package/dist/esm/ion-datetime-button.entry.js +10 -4
  214. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +658 -16
  215. package/dist/esm/ion-fab_3.entry.js +1 -1
  216. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  217. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  218. package/dist/esm/ion-input.entry.js +5 -5
  219. package/dist/esm/ion-item_8.entry.js +3 -3
  220. package/dist/esm/ion-loading.entry.js +4 -9
  221. package/dist/esm/ion-menu_3.entry.js +2 -2
  222. package/dist/esm/ion-modal.entry.js +31 -23
  223. package/dist/esm/ion-picker-column-option.entry.js +9 -3
  224. package/dist/esm/ion-picker-column.entry.js +10 -4
  225. package/dist/esm/ion-popover.entry.js +5 -9
  226. package/dist/esm/ion-progress-bar.entry.js +1 -1
  227. package/dist/esm/ion-radio_2.entry.js +3 -3
  228. package/dist/esm/ion-range.entry.js +3 -3
  229. package/dist/esm/ion-refresher_2.entry.js +4 -5
  230. package/dist/esm/ion-reorder_2.entry.js +3 -3
  231. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  232. package/dist/esm/ion-route_4.entry.js +2 -2
  233. package/dist/esm/ion-searchbar.entry.js +6 -6
  234. package/dist/esm/ion-segment-content.entry.js +1 -1
  235. package/dist/esm/ion-segment-view.entry.js +2 -2
  236. package/dist/esm/ion-segment_2.entry.js +4 -4
  237. package/dist/esm/ion-select-modal.entry.js +30 -84
  238. package/dist/esm/ion-select_3.entry.js +52 -410
  239. package/dist/esm/ion-spinner.entry.js +1 -1
  240. package/dist/esm/ion-split-pane.entry.js +2 -2
  241. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  242. package/dist/esm/ion-tab_2.entry.js +3 -3
  243. package/dist/esm/ion-text.entry.js +2 -2
  244. package/dist/esm/ion-textarea.entry.js +2 -2
  245. package/dist/esm/ion-toast.entry.js +4 -5
  246. package/dist/esm/ion-toggle.entry.js +4 -4
  247. package/dist/esm/ionic.js +1 -1
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/{overlays-DLNOHWNc.js → overlays-DBQMGaJ9.js} +17 -28
  250. package/dist/html.html-data.json +79 -51
  251. package/dist/ionic/index.esm.js +1 -1
  252. package/dist/ionic/ionic.esm.js +1 -1
  253. package/dist/ionic/p-0124647d.entry.js +4 -0
  254. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  255. package/dist/ionic/p-06c232a4.entry.js +4 -0
  256. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  257. package/dist/ionic/p-20b1a044.entry.js +4 -0
  258. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  259. package/dist/ionic/p-27d30585.entry.js +4 -0
  260. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  261. package/dist/ionic/p-305a059a.entry.js +4 -0
  262. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  263. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  264. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  265. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  266. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  267. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  268. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  269. package/dist/ionic/p-485fda23.entry.js +4 -0
  270. package/dist/ionic/{p-c93553d2.entry.js → p-4abbd79c.entry.js} +1 -1
  271. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  272. package/dist/ionic/p-5076b325.entry.js +4 -0
  273. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  274. package/dist/ionic/p-6209ed93.entry.js +4 -0
  275. package/dist/ionic/p-6e3d2097.entry.js +4 -0
  276. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  277. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  278. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  279. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  280. package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
  281. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  282. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  283. package/dist/ionic/p-9f8cb0f3.entry.js +4 -0
  284. package/dist/ionic/p-BnzgTfDG.js +4 -0
  285. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  286. package/dist/ionic/p-DzWaWHGc.js +4 -0
  287. package/dist/ionic/p-a1b57bd4.entry.js +4 -0
  288. package/dist/ionic/p-a21add2f.entry.js +4 -0
  289. package/dist/ionic/p-c0fb8edd.entry.js +4 -0
  290. package/dist/ionic/p-c38b648e.entry.js +4 -0
  291. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  292. package/dist/ionic/p-ddb2d591.entry.js +4 -0
  293. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  294. package/dist/ionic/p-e13c6c40.entry.js +4 -0
  295. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  296. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  297. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  298. package/dist/types/components/input/input.d.ts +1 -1
  299. package/dist/types/components/modal/modal.d.ts +4 -11
  300. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  301. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  302. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  303. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  304. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  305. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  306. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  307. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  308. package/dist/types/components/select/select-interface.d.ts +0 -31
  309. package/dist/types/components/select/select.d.ts +0 -18
  310. package/dist/types/components/select-option/select-option.d.ts +1 -42
  311. package/dist/types/components.d.ts +296 -60
  312. package/dist/types/index.d.ts +1 -1
  313. package/dist/types/interface.d.ts +1 -0
  314. package/dist/types/utils/config.d.ts +8 -0
  315. package/dist/types/utils/overlays.d.ts +9 -11
  316. package/dist/types/utils/sanitization/index.d.ts +2 -58
  317. package/hydrate/index.js +1214 -1421
  318. package/hydrate/index.mjs +1214 -1421
  319. package/package.json +5 -37
  320. package/components/p-279dFMvg.js +0 -4
  321. package/components/p-B7KXos3u.js +0 -4
  322. package/components/p-BSQPZ79H.js +0 -4
  323. package/components/p-BimUi1zU.js +0 -4
  324. package/components/p-BwKpO3Is.js +0 -4
  325. package/components/p-C-Rx1zny.js +0 -4
  326. package/components/p-CHzfYZbv.js +0 -4
  327. package/components/p-D4h1H_hh.js +0 -4
  328. package/components/p-LMGfIvTf.js +0 -4
  329. package/components/p-_lHSumhG.js +0 -4
  330. package/components/p-j9Da6cYO.js +0 -4
  331. package/components/p-jOtMJMv8.js +0 -4
  332. package/components/p-uTR_dEqg.js +0 -4
  333. package/dist/cjs/config-DWdFbSNK.js +0 -35
  334. package/dist/cjs/index-Cueg3U4w.js +0 -429
  335. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  336. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  337. package/dist/collection/utils/overlay-control-label.js +0 -45
  338. package/dist/collection/utils/select-option-render.js +0 -119
  339. package/dist/esm/config-BwKpO3Is.js +0 -31
  340. package/dist/esm/index-DQSkZyOJ.js +0 -424
  341. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  342. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  343. package/dist/ionic/p-038eb991.entry.js +0 -4
  344. package/dist/ionic/p-17827b13.entry.js +0 -4
  345. package/dist/ionic/p-1ebe2739.entry.js +0 -4
  346. package/dist/ionic/p-4621c387.entry.js +0 -4
  347. package/dist/ionic/p-4ace7762.entry.js +0 -4
  348. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  349. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  350. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  351. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  352. package/dist/ionic/p-79a36078.entry.js +0 -4
  353. package/dist/ionic/p-8b3a64a5.entry.js +0 -4
  354. package/dist/ionic/p-913b218a.entry.js +0 -4
  355. package/dist/ionic/p-93a7e5a1.entry.js +0 -4
  356. package/dist/ionic/p-BDtODLZ4.js +0 -4
  357. package/dist/ionic/p-BSQPZ79H.js +0 -4
  358. package/dist/ionic/p-BwKpO3Is.js +0 -4
  359. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  360. package/dist/ionic/p-DCOvXkOm.js +0 -4
  361. package/dist/ionic/p-a9a33367.entry.js +0 -4
  362. package/dist/ionic/p-ad728198.entry.js +0 -4
  363. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  364. package/dist/ionic/p-c08e666a.entry.js +0 -4
  365. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  366. package/dist/ionic/p-ed797c72.entry.js +0 -4
  367. package/dist/ionic/p-f09f9642.entry.js +0 -4
  368. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  369. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  370. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -75,6 +75,12 @@ export class Datetime {
75
75
  isAdjacentDay: false,
76
76
  };
77
77
  this.isTimePopoverOpen = false;
78
+ /**
79
+ * The color to use from your application's color palette.
80
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
81
+ * For more information on colors, see [theming](/docs/theming/basics).
82
+ */
83
+ this.color = 'primary';
78
84
  /**
79
85
  * The name of the control, which is submitted with the form data.
80
86
  */
@@ -1250,7 +1256,7 @@ export class Datetime {
1250
1256
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1251
1257
  this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1252
1258
  ev.stopPropagation();
1253
- } }, items.map((item) => (h("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1259
+ } }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1254
1260
  }
1255
1261
  renderIndividualDatePickerColumns(forcePresentation) {
1256
1262
  const { workingParts, isDateEnabled } = this;
@@ -1323,7 +1329,7 @@ export class Datetime {
1323
1329
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1324
1330
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1325
1331
  ev.stopPropagation();
1326
- } }, days.map((day) => (h("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1332
+ } }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1327
1333
  }
1328
1334
  renderMonthPickerColumn(months) {
1329
1335
  if (months.length === 0) {
@@ -1338,7 +1344,7 @@ export class Datetime {
1338
1344
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1339
1345
  }
1340
1346
  ev.stopPropagation();
1341
- } }, months.map((month) => (h("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1347
+ } }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1342
1348
  }
1343
1349
  renderYearPickerColumn(years) {
1344
1350
  if (years.length === 0) {
@@ -1353,7 +1359,7 @@ export class Datetime {
1353
1359
  this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1354
1360
  }
1355
1361
  ev.stopPropagation();
1356
- } }, years.map((year) => (h("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1362
+ } }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1357
1363
  }
1358
1364
  renderTimePickerColumns(forcePresentation) {
1359
1365
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1386,7 +1392,7 @@ export class Datetime {
1386
1392
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1387
1393
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1388
1394
  ev.stopPropagation();
1389
- } }, hoursData.map((hour) => (h("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1395
+ } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1390
1396
  }
1391
1397
  renderMinutePickerColumn(minutesData) {
1392
1398
  const { disabled, workingParts } = this;
@@ -1397,7 +1403,7 @@ export class Datetime {
1397
1403
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1398
1404
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1399
1405
  ev.stopPropagation();
1400
- } }, minutesData.map((minute) => (h("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1406
+ } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1401
1407
  }
1402
1408
  renderDayPeriodPickerColumn(dayPeriodData) {
1403
1409
  const { disabled, workingParts } = this;
@@ -1411,7 +1417,7 @@ export class Datetime {
1411
1417
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1412
1418
  this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1413
1419
  ev.stopPropagation();
1414
- } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1420
+ } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1415
1421
  }
1416
1422
  renderWheelView(forcePresentation) {
1417
1423
  const { locale } = this;
@@ -1748,7 +1754,7 @@ export class Datetime {
1748
1754
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1749
1755
  const hasWheelVariant = hasDatePresentation && preferWheel;
1750
1756
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1751
- return (h(Host, { key: '79b906669d3e0d9ff356421a5f571d5cf12b6793', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1757
+ return (h(Host, { key: '5e0b83cb88a87945eaae2f9402751819b75452ee', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1752
1758
  [mode]: true,
1753
1759
  ['datetime-readonly']: readonly,
1754
1760
  ['datetime-disabled']: disabled,
@@ -1758,7 +1764,7 @@ export class Datetime {
1758
1764
  [`datetime-size-${size}`]: true,
1759
1765
  [`datetime-prefer-wheel`]: hasWheelVariant,
1760
1766
  [`datetime-grid`]: isGridStyle,
1761
- })) }, h("div", { key: 'e29ce6edd79f3efb8f7cc4a81bb543d580e5f4c6', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1767
+ })) }, h("div", { key: '9f9ba72e9879525961b00abe342a7891492ca0ff', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1762
1768
  }
1763
1769
  static get is() { return "ion-datetime"; }
1764
1770
  static get encapsulation() { return "shadow"; }
@@ -1800,7 +1806,8 @@ export class Datetime {
1800
1806
  "getter": false,
1801
1807
  "setter": false,
1802
1808
  "reflect": false,
1803
- "attribute": "color"
1809
+ "attribute": "color",
1810
+ "defaultValue": "'primary'"
1804
1811
  },
1805
1812
  "name": {
1806
1813
  "type": "string",
@@ -218,10 +218,6 @@
218
218
  justify-content: space-between;
219
219
  }
220
220
 
221
- :host .datetime-action-buttons ion-button {
222
- --color: var(--ion-color-primary, #0054e9);
223
- }
224
-
225
221
  /**
226
222
  * The confirm and clear buttons are grouped in a
227
223
  * container so that they appear on the end opposite
@@ -376,11 +372,6 @@
376
372
  }
377
373
 
378
374
  .calendar-day:not(.calendar-day-adjacent-day):focus {
379
- background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
380
- box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
381
- }
382
-
383
- :host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
384
375
  background: rgba(var(--ion-color-base-rgb), 0.2);
385
376
  box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
386
377
  }
@@ -425,10 +416,6 @@
425
416
  }
426
417
 
427
418
  :host .time-body-active {
428
- color: var(--ion-color-primary, #0054e9);
429
- }
430
-
431
- :host(.ion-color) .time-body-active {
432
419
  color: var(--ion-color-base);
433
420
  }
434
421
 
@@ -437,10 +424,6 @@
437
424
  }
438
425
 
439
426
  :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
440
- color: var(--ion-color-primary, #0054e9);
441
- }
442
-
443
- :host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
444
427
  color: var(--ion-color-base);
445
428
  }
446
429
 
@@ -565,10 +548,6 @@ ion-picker {
565
548
  */
566
549
  :host {
567
550
  --background: var(--ion-color-step-100, var(--ion-background-color-step-100, #ffffff));
568
- --title-color: var(--ion-color-primary-contrast, #fff);
569
- }
570
-
571
- :host(.ion-color) {
572
551
  --title-color: var(--ion-color-contrast);
573
552
  }
574
553
 
@@ -579,12 +558,8 @@ ion-picker {
579
558
  padding-inline-end: 20px;
580
559
  padding-top: 20px;
581
560
  padding-bottom: 20px;
582
- background: var(--ion-color-primary, #0054e9);
583
- color: var(--title-color);
584
- }
585
-
586
- :host(.ion-color) .datetime-header {
587
561
  background: var(--ion-color-base);
562
+ color: var(--title-color);
588
563
  }
589
564
 
590
565
  :host .datetime-header .datetime-title {
@@ -668,11 +643,6 @@ ion-picker {
668
643
  * should have ion-color for text color.
669
644
  */
670
645
  :host .calendar-day.calendar-day-today {
671
- border: 1px solid var(--ion-color-primary, #0054e9);
672
- color: var(--ion-color-primary, #0054e9);
673
- }
674
-
675
- :host(.ion-color) .calendar-day.calendar-day-today {
676
646
  border: 1px solid var(--ion-color-base);
677
647
  color: var(--ion-color-base);
678
648
  }
@@ -684,22 +654,11 @@ ion-picker {
684
654
  */
685
655
  :host .calendar-day.calendar-day-active,
686
656
  :host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
687
- color: var(--ion-color-primary-contrast, #fff);
688
- }
689
-
690
- :host(.ion-color) .calendar-day.calendar-day-active,
691
- :host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
692
657
  color: var(--ion-color-contrast);
693
658
  }
694
659
 
695
660
  .calendar-day.calendar-day-active,
696
661
  .calendar-day.calendar-day-active:focus {
697
- border: 1px solid var(--ion-color-primary, #0054e9);
698
- background: var(--ion-color-primary, #0054e9);
699
- }
700
-
701
- :host(.ion-color) .calendar-day.calendar-day-active,
702
- :host(.ion-color) .calendar-day.calendar-day-active:focus {
703
662
  border: 1px solid var(--ion-color-base);
704
663
  background: var(--ion-color-base);
705
664
  }
@@ -82,11 +82,6 @@
82
82
 
83
83
  :host(.time-active) #time-button,
84
84
  :host(.date-active) #date-button {
85
- color: var(--ion-color-primary, #0054e9);
86
- }
87
-
88
- :host(.ion-color.time-active) #time-button,
89
- :host(.ion-color.date-active) #date-button {
90
85
  color: var(--ion-color-base);
91
86
  }
92
87
 
@@ -23,6 +23,12 @@ export class DatetimeButton {
23
23
  this.overlayEl = null;
24
24
  this.datetimePresentation = 'date-time';
25
25
  this.datetimeActive = false;
26
+ /**
27
+ * The color to use from your application's color palette.
28
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
29
+ * For more information on colors, see [theming](/docs/theming/basics).
30
+ */
31
+ this.color = 'primary';
26
32
  /**
27
33
  * If `true`, the user cannot interact with the button.
28
34
  */
@@ -336,11 +342,11 @@ export class DatetimeButton {
336
342
  render() {
337
343
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
338
344
  const mode = getIonMode(this);
339
- return (h(Host, { key: '2aaa284fe9b53b6347fcb5a1d325fbab1a6f38bd', class: createColorClasses(color, {
345
+ return (h(Host, { key: 'c28e5e428111f18eaceb030dca8aba5579867eaa', class: createColorClasses(color, {
340
346
  [mode]: true,
341
347
  [`${selectedButton}-active`]: datetimeActive,
342
348
  ['datetime-button-disabled']: disabled,
343
- }) }, dateText && (h("button", { key: 'd9698471fa5d5c834ca73db57f9ed98dfc705b4c', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'c8761a7f25ae5b93c953b3486dd6335f5ad4fd53', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '3dd5e97af8d35a2b008de4ab01f690b3c2223135' }))), timeText && (h("button", { key: '1107ca2382940b642b551f885f7ca763012c236c', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5cff53e486923b03715b9ab4dc0947e26f4ea1d9', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '5aac1facb6fc7457307c4f59a241e3a5b31facc8' })))));
349
+ }) }, dateText && (h("button", { key: 'a08f41b3150ef7171d0f1d9b3d69b51be67b7b84', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: '35ee68ca1cea59f03e1b59b72606e618141c8e1f', name: "date-target" }, dateText), mode === 'md' && h("ion-ripple-effect", { key: '4be53227aaf0acd20e8ebbff9f645140e8a96f33' }))), timeText && (h("button", { key: 'ab500f9b78f8c194180073eaf7325041adbd02f7', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '5822486dfdedba6c071a0f5233cc06f8321a1f5d', name: "time-target" }, timeText), mode === 'md' && h("ion-ripple-effect", { key: '054a4acb811a98cc6d9bb6a3cf51232a1f09b0ea' })))));
344
350
  }
345
351
  static get is() { return "ion-datetime-button"; }
346
352
  static get encapsulation() { return "shadow"; }
@@ -382,7 +388,8 @@ export class DatetimeButton {
382
388
  "getter": false,
383
389
  "setter": false,
384
390
  "reflect": true,
385
- "attribute": "color"
391
+ "attribute": "color",
392
+ "defaultValue": "'primary'"
386
393
  },
387
394
  "disabled": {
388
395
  "type": "boolean",
@@ -82,11 +82,6 @@
82
82
 
83
83
  :host(.time-active) #time-button,
84
84
  :host(.date-active) #date-button {
85
- color: var(--ion-color-primary, #0054e9);
86
- }
87
-
88
- :host(.ion-color.time-active) #time-button,
89
- :host(.ion-color.date-active) #date-button {
90
85
  color: var(--ion-color-base);
91
86
  }
92
87
 
@@ -56,7 +56,7 @@ export class Input {
56
56
  /**
57
57
  * Whether auto correction should be enabled when the user is entering/editing the text value.
58
58
  */
59
- this.autocorrect = false;
59
+ this.autocorrect = 'off';
60
60
  /**
61
61
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
62
62
  *
@@ -540,7 +540,7 @@ export class Input {
540
540
  * TODO(FW-5592): Remove hasStartEndSlots condition
541
541
  */
542
542
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
543
- return (h(Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: createColorClasses(this.color, {
543
+ return (h(Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: createColorClasses(this.color, {
544
544
  [mode]: true,
545
545
  'has-value': hasValue,
546
546
  'has-focus': hasFocus,
@@ -551,14 +551,14 @@ export class Input {
551
551
  'in-item': inItem,
552
552
  'in-item-color': hostContext('ion-item.ion-color', this.el),
553
553
  'input-disabled': disabled,
554
- }) }, h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
554
+ }) }, h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
555
555
  /**
556
556
  * This prevents mobile browsers from
557
557
  * blurring the input when the clear
558
558
  * button is activated.
559
559
  */
560
560
  ev.preventDefault();
561
- }, onClick: this.clearTextInput }, h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
561
+ }, onClick: this.clearTextInput }, h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
562
562
  }
563
563
  static get is() { return "ion-input"; }
564
564
  static get encapsulation() { return "scoped"; }
@@ -650,11 +650,11 @@ export class Input {
650
650
  "defaultValue": "'off'"
651
651
  },
652
652
  "autocorrect": {
653
- "type": "boolean",
653
+ "type": "string",
654
654
  "mutable": false,
655
655
  "complexType": {
656
- "original": "boolean",
657
- "resolved": "boolean",
656
+ "original": "'on' | 'off'",
657
+ "resolved": "\"off\" | \"on\"",
658
658
  "references": {}
659
659
  },
660
660
  "required": false,
@@ -667,7 +667,7 @@ export class Input {
667
667
  "setter": false,
668
668
  "reflect": false,
669
669
  "attribute": "autocorrect",
670
- "defaultValue": "false"
670
+ "defaultValue": "'off'"
671
671
  },
672
672
  "autofocus": {
673
673
  "type": "boolean",
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { createLockController } from "../../utils/lock-controller";
8
- import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
8
+ import { BACKDROP, dismiss, eventMethod, prepareOverlay, present, createDelegateController, createTriggerController, setOverlayId, } from "../../utils/overlays";
9
9
  import { sanitizeDOMString } from "../../utils/sanitization/index";
10
10
  import { getClassMap } from "../../utils/theme";
11
11
  import { config } from "../../global/config";
@@ -114,10 +114,6 @@ export class Loading {
114
114
  }
115
115
  disconnectedCallback() {
116
116
  this.triggerController.removeClickListener();
117
- // Clean up aria-hidden if removed without dismiss() being called
118
- if (this.presented) {
119
- cleanupRootFocusTrapAccessibility();
120
- }
121
117
  }
122
118
  /**
123
119
  * Present the loading overlay after it has been created.
@@ -183,9 +179,9 @@ export class Loading {
183
179
  * Otherwise, don't set aria-labelledby.
184
180
  */
185
181
  const ariaLabelledBy = message !== undefined ? msgId : null;
186
- return (h(Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
182
+ return (h(Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
187
183
  zIndex: `${40000 + this.overlayIndex}`,
188
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
184
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
189
185
  }
190
186
  static get is() { return "ion-loading"; }
191
187
  static get encapsulation() { return "scoped"; }
@@ -223,7 +223,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
223
223
  }
224
224
  return true;
225
225
  };
226
+ /**
227
+ * In Firefox, pressing over a text caret in the focusable wrapper can
228
+ * start a native drag that swallows the gesture's pointer events.
229
+ * Cancel native drag while the gesture is active.
230
+ */
231
+ const preventNativeDragStart = (ev) => ev.preventDefault();
226
232
  const onStart = (detail) => {
233
+ baseEl.addEventListener('dragstart', preventNativeDragStart);
227
234
  /**
228
235
  * If canDismiss is anything other than `true`
229
236
  * then users should be able to swipe down
@@ -350,6 +357,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
350
357
  onDragMove(eventDetail);
351
358
  };
352
359
  const onEnd = (detail) => {
360
+ baseEl.removeEventListener('dragstart', preventNativeDragStart);
353
361
  const snapBreakpoint = calculateSnapBreakpoint(detail.deltaY);
354
362
  const eventDetail = {
355
363
  currentY: detail.currentY,
@@ -95,8 +95,15 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
95
95
  }
96
96
  return false;
97
97
  };
98
+ /**
99
+ * In Firefox, pressing over a text caret in the focusable wrapper can
100
+ * start a native drag that swallows the gesture's pointer events.
101
+ * Cancel native drag while the gesture is active.
102
+ */
103
+ const preventNativeDragStart = (ev) => ev.preventDefault();
98
104
  const onStart = (detail) => {
99
105
  const { deltaY } = detail;
106
+ el.addEventListener('dragstart', preventNativeDragStart);
100
107
  /**
101
108
  * Get the initial scrollY value so
102
109
  * that we can correctly reset the scrollY
@@ -199,6 +206,7 @@ export const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismi
199
206
  onDragMove(eventDetail);
200
207
  };
201
208
  const onEnd = (detail) => {
209
+ el.removeEventListener('dragstart', preventNativeDragStart);
202
210
  const velocity = detail.velocityY;
203
211
  const step = detail.deltaY / height;
204
212
  const isAttemptingDismissWithCanDismiss = step >= 0 && canDismissBlocksGesture;
@@ -126,6 +126,14 @@ ion-backdrop {
126
126
  z-index: 10;
127
127
  }
128
128
 
129
+ /**
130
+ * The wrapper is focused on present (see modal.tsx); suppress its focus
131
+ * ring, matching the host above.
132
+ */
133
+ .modal-wrapper {
134
+ outline: none;
135
+ }
136
+
129
137
  .modal-shadow {
130
138
  position: absolute;
131
139
  background: transparent;
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
8
8
  import { createLockController } from "../../utils/lock-controller";
9
9
  import { printIonWarning } from "../../utils/logging/index";
10
10
  import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
11
- import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
11
+ import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
14
14
  import { config } from "../../global/config";
@@ -77,20 +77,13 @@ export class Modal {
77
77
  /**
78
78
  * The interaction behavior for the sheet modal when the handle is pressed.
79
79
  *
80
- * Handle behavior is unavailable when the `handle` property is set to
81
- * `false` or when the `breakpoints` property is not set (using a
82
- * fullscreen or card modal).
80
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
81
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
83
82
  *
84
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
85
- * cycle between available breakpoints when pressed. This keeps the sheet
86
- * operable with assistive technology.
87
- *
88
- * Set to `"none"` to make the handle purely decorative when pressed and
89
- * removed from the tab order.
90
- *
91
- * Defaults to `"cycle"`.
83
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
84
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
92
85
  */
93
- this.handleBehavior = 'cycle';
86
+ this.handleBehavior = 'none';
94
87
  /**
95
88
  * If `true`, the modal will be dismissed when the backdrop is clicked.
96
89
  */
@@ -282,10 +275,6 @@ export class Modal {
282
275
  // Also called in dismiss() — intentional dual cleanup covers both
283
276
  // dismiss-then-remove and direct DOM removal without dismiss.
284
277
  this.cleanupSafeAreaOverrides();
285
- // Clean up aria-hidden if removed without dismiss() being called
286
- if (this.presented) {
287
- cleanupRootFocusTrapAccessibility();
288
- }
289
278
  }
290
279
  componentWillLoad() {
291
280
  var _a;
@@ -1173,20 +1162,23 @@ export class Modal {
1173
1162
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1174
1163
  const isHandleCycle = handleBehavior === 'cycle';
1175
1164
  const isSheetModalWithHandle = isSheetModal && showHandle;
1176
- return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
1165
+ return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
1177
1166
  // Allow the modal to be navigable when the handle is focusable
1178
1167
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
1179
1168
  zIndex: `${20000 + this.overlayIndex}`,
1180
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
1169
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: '4d84bd3a6b7dd0e349aba843f92129000ce90170',
1181
1170
  /*
1182
1171
  role and aria-modal must be used on the
1183
1172
  same element. They must also be set inside the
1184
1173
  shadow DOM otherwise ion-button will not be highlighted
1185
1174
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1175
+
1176
+ tabIndex={-1} lets present() focus this element (which carries
1177
+ the dialog role) instead of the role-less host.
1186
1178
  */
1187
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
1179
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '498f9fa839c460f9a586904aa0809a8130e1a05d', class: "modal-handle",
1188
1180
  // Prevents the handle from receiving keyboard focus when it does not cycle
1189
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
1181
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '668e769738476faa4f7adfbb03b0e72dad57c22b', onSlotchange: this.onSlotChange }))));
1190
1182
  }
1191
1183
  static get is() { return "ion-modal"; }
1192
1184
  static get encapsulation() { return "shadow"; }
@@ -1458,13 +1450,13 @@ export class Modal {
1458
1450
  "optional": true,
1459
1451
  "docs": {
1460
1452
  "tags": [],
1461
- "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`."
1453
+ "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nDefaults to `\"none\"`, which means the modal will not change size or position when the handle is pressed.\nSet to `\"cycle\"` to let the modal cycle between available breakpoints when pressed.\n\nHandle behavior is unavailable when the `handle` property is set to `false` or\nwhen the `breakpoints` property is not set (using a fullscreen or card modal)."
1462
1454
  },
1463
1455
  "getter": false,
1464
1456
  "setter": false,
1465
1457
  "reflect": false,
1466
1458
  "attribute": "handle-behavior",
1467
- "defaultValue": "'cycle'"
1459
+ "defaultValue": "'none'"
1468
1460
  },
1469
1461
  "component": {
1470
1462
  "type": "string",
@@ -126,6 +126,14 @@ ion-backdrop {
126
126
  z-index: 10;
127
127
  }
128
128
 
129
+ /**
130
+ * The wrapper is focused on present (see modal.tsx); suppress its focus
131
+ * ring, matching the host above.
132
+ */
133
+ .modal-wrapper {
134
+ outline: none;
135
+ }
136
+
129
137
  .modal-shadow {
130
138
  position: absolute;
131
139
  background: transparent;
@@ -223,9 +223,6 @@
223
223
  @media (any-hover: hover) {
224
224
  :host(:focus) .picker-opts {
225
225
  outline: none;
226
- background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
227
- }
228
- :host(.ion-color:focus) .picker-opts {
229
226
  background: rgba(var(--ion-color-base-rgb), 0.2);
230
227
  }
231
228
  }
@@ -26,6 +26,12 @@ export class PickerColumn {
26
26
  * If `true`, the user cannot interact with the picker.
27
27
  */
28
28
  this.disabled = false;
29
+ /**
30
+ * The color to use from your application's color palette.
31
+ * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
32
+ * For more information on colors, see [theming](/docs/theming/basics).
33
+ */
34
+ this.color = 'primary';
29
35
  /**
30
36
  * If `true`, tapping the picker will
31
37
  * reveal a number input keyboard that lets
@@ -545,14 +551,14 @@ export class PickerColumn {
545
551
  render() {
546
552
  const { color, disabled, isActive, numericInput } = this;
547
553
  const mode = getIonMode(this);
548
- return (h(Host, { key: '78b46ad10d88ea1bb43ca8c36748767912f03224', class: createColorClasses(color, {
554
+ return (h(Host, { key: '234c96a501d7ac413b9b0ea56b33017681e25b40', class: createColorClasses(color, {
549
555
  [mode]: true,
550
556
  ['picker-column-active']: isActive,
551
557
  ['picker-column-numeric-input']: numericInput,
552
558
  ['picker-column-disabled']: disabled,
553
- }) }, h("slot", { key: '761e501df77f7de896ffb3ebb99ebf88c5c3bf70', name: "prefix" }), h("div", { key: '9f4caaeef8ab704522a85f30876d371712f47c5c', class: "picker-opts", ref: (el) => {
559
+ }) }, h("slot", { key: '9dc15ea0601ddd2cb2e0a745e91e036a8bd96f8b', name: "prefix" }), h("div", { key: 'de4fe28ee4bc46b7c0420d6ab0df0e7809443da9', class: "picker-opts", ref: (el) => {
554
560
  this.scrollEl = el;
555
- }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '9d3533436aba6c61c93f65f84a077fba832194a0', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3f18d3a47361f06f55321b65fdf5742a61722b26', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: 'eac0d20ab8c533ef829875e323e93e1ee2067d6d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '92e25989ef41cf6f910c73238e1a0a5ac03f1c1f' }), h("div", { key: '33a84644ebdc84108b44a8e3a129b54e824939c8', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '128ad61a3a68c7ff2d2e44a6e968424fcc608a15', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '6e4d59a4f75befcbbf47279a263f28a69b12dbbd', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: '3c6621b64438792a3024c90e3d9916a0a3614506', name: "suffix" })));
561
+ }, role: "slider", tabindex: this.disabled ? undefined : 0, "aria-label": this.ariaLabel, "aria-valuemin": 0, "aria-valuemax": 0, "aria-valuenow": 0, "aria-valuetext": this.getOptionValueText(this.activeItem), "aria-orientation": "vertical", onKeyDown: (ev) => this.onKeyDown(ev) }, h("div", { key: '5297617462cc30e9444039ae032d8bdf718349af', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '55ea39ef867bcb1a11a912d52ecd20cb886c5fb3', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '3496730ce6182ebfd33e0ee4bafc130feb575a31', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("slot", { key: '44c3628aa957d60f799dc7019f72fe8b676c7843' }), h("div", { key: '5a1809f6c949678a67e0d4b5bfe93ea335c0161d', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '98fd57f1c66dbaebc2db2dd5da142671b3159fd1', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0"), h("div", { key: '85590708abddfa885994e549deac64866fec938f', class: "picker-item-empty", "aria-hidden": "true" }, "\u00A0")), h("slot", { key: 'bb7e674f543696a80fcbfb1f68f2e975826898a6', name: "suffix" })));
556
562
  }
557
563
  static get is() { return "ion-picker-column"; }
558
564
  static get encapsulation() { return "shadow"; }
@@ -631,7 +637,8 @@ export class PickerColumn {
631
637
  "getter": false,
632
638
  "setter": false,
633
639
  "reflect": true,
634
- "attribute": "color"
640
+ "attribute": "color",
641
+ "defaultValue": "'primary'"
635
642
  },
636
643
  "numericInput": {
637
644
  "type": "boolean",