voyager-ionic-core 8.2.6 → 8.3.3

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 (394) hide show
  1. package/components/checkbox.js +9 -9
  2. package/components/ion-app.js +1 -2
  3. package/components/ion-content.js +9 -5
  4. package/components/ion-datetime.js +3 -3
  5. package/components/ion-range.js +10 -7
  6. package/components/ion-segment.js +19 -6
  7. package/components/ion-select.js +6 -6
  8. package/components/ion-tabs.js +12 -2
  9. package/components/ion-toggle.js +9 -9
  10. package/components/item.js +3 -3
  11. package/components/radio.js +9 -9
  12. package/dist/cjs/{app-globals-7dbf2ade.js → app-globals-21afee77.js} +1 -1
  13. package/dist/cjs/{button-active-cf1c215d.js → button-active-3f2f60b4.js} +1 -1
  14. package/dist/cjs/{hardware-back-button-ddbc12ea.js → hardware-back-button-9e8a2c4f.js} +2 -2
  15. package/dist/cjs/{index-480c143c.js → index-73f75efb.js} +47 -29
  16. package/dist/cjs/{index-a3f97de0.js → index-9cd00dc3.js} +2 -2
  17. package/dist/cjs/{index-24fe3fe6.js → index-f05acd21.js} +4 -4
  18. package/dist/cjs/index.cjs.js +8 -8
  19. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  20. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  21. package/dist/cjs/ion-alert.cjs.entry.js +5 -5
  22. package/dist/cjs/ion-app_8.cjs.entry.js +15 -12
  23. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  27. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-checkbox.cjs.entry.js +11 -11
  30. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  34. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-item_8.cjs.entry.js +5 -5
  41. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  42. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  43. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  44. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  48. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  49. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-radio_2.cjs.entry.js +11 -11
  51. package/dist/cjs/ion-range.cjs.entry.js +12 -9
  52. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -8
  58. package/dist/cjs/ion-select_3.cjs.entry.js +10 -10
  59. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-tab_2.cjs.entry.js +13 -3
  63. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  65. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  66. package/dist/cjs/ion-toggle.cjs.entry.js +11 -11
  67. package/dist/cjs/{ionic-global-c1db87a5.js → ionic-global-d9a8bb5b.js} +1 -1
  68. package/dist/cjs/ionic.cjs.js +4 -4
  69. package/dist/cjs/{ios.transition-8419294d.js → ios.transition-cf40433b.js} +3 -3
  70. package/dist/cjs/loader.cjs.js +3 -3
  71. package/dist/cjs/{md.transition-39852d6b.js → md.transition-ededf99f.js} +3 -3
  72. package/dist/cjs/{overlays-55d77381.js → overlays-0123d7d4.js} +2 -2
  73. package/dist/cjs/{status-tap-b68fa888.js → status-tap-37681226.js} +1 -1
  74. package/dist/collection/collection-manifest.json +2 -2
  75. package/dist/collection/components/app/app.js +3 -7
  76. package/dist/collection/components/checkbox/checkbox.ios.css +11 -1
  77. package/dist/collection/components/checkbox/checkbox.js +15 -17
  78. package/dist/collection/components/checkbox/checkbox.md.css +11 -1
  79. package/dist/collection/components/content/content.js +9 -5
  80. package/dist/collection/components/datetime/datetime.js +3 -3
  81. package/dist/collection/components/item/item.js +3 -3
  82. package/dist/collection/components/radio/radio.ios.css +9 -0
  83. package/dist/collection/components/radio/radio.js +15 -17
  84. package/dist/collection/components/radio/radio.md.css +9 -0
  85. package/dist/collection/components/range/range.js +10 -7
  86. package/dist/collection/components/segment/segment.js +19 -6
  87. package/dist/collection/components/select/select.ios.css +1 -0
  88. package/dist/collection/components/select/select.js +7 -8
  89. package/dist/collection/components/select/select.md.css +1 -0
  90. package/dist/collection/components/tabs/tabs.js +12 -2
  91. package/dist/collection/components/toggle/toggle.ios.css +10 -0
  92. package/dist/collection/components/toggle/toggle.js +15 -17
  93. package/dist/collection/components/toggle/toggle.md.css +10 -0
  94. package/dist/docs.json +91 -38
  95. package/dist/esm/{app-globals-7f30ce3c.js → app-globals-5dbb61a5.js} +1 -1
  96. package/dist/esm/{button-active-78f50add.js → button-active-f6503382.js} +1 -1
  97. package/dist/esm/{hardware-back-button-2e99752e.js → hardware-back-button-06ef3c3e.js} +2 -2
  98. package/dist/esm/{index-7a952e7a.js → index-28849c61.js} +47 -29
  99. package/dist/esm/{index-8808daa5.js → index-3ad7f18b.js} +4 -4
  100. package/dist/esm/{index-4094f808.js → index-fe1782b1.js} +2 -2
  101. package/dist/esm/index.js +8 -8
  102. package/dist/esm/ion-accordion_2.entry.js +2 -2
  103. package/dist/esm/ion-action-sheet.entry.js +5 -5
  104. package/dist/esm/ion-alert.entry.js +5 -5
  105. package/dist/esm/ion-app_8.entry.js +16 -13
  106. package/dist/esm/ion-avatar_3.entry.js +2 -2
  107. package/dist/esm/ion-back-button.entry.js +2 -2
  108. package/dist/esm/ion-backdrop.entry.js +2 -2
  109. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  110. package/dist/esm/ion-button_2.entry.js +2 -2
  111. package/dist/esm/ion-card_5.entry.js +2 -2
  112. package/dist/esm/ion-checkbox.entry.js +11 -11
  113. package/dist/esm/ion-chip.entry.js +2 -2
  114. package/dist/esm/ion-col_3.entry.js +2 -2
  115. package/dist/esm/ion-datetime-button.entry.js +2 -2
  116. package/dist/esm/ion-datetime_3.entry.js +7 -7
  117. package/dist/esm/ion-fab_3.entry.js +2 -2
  118. package/dist/esm/ion-img.entry.js +2 -2
  119. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  120. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  121. package/dist/esm/ion-input.entry.js +2 -2
  122. package/dist/esm/ion-item-option_3.entry.js +2 -2
  123. package/dist/esm/ion-item_8.entry.js +5 -5
  124. package/dist/esm/ion-loading.entry.js +4 -4
  125. package/dist/esm/ion-menu_3.entry.js +5 -5
  126. package/dist/esm/ion-modal.entry.js +5 -5
  127. package/dist/esm/ion-nav_2.entry.js +3 -3
  128. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  129. package/dist/esm/ion-picker-column.entry.js +2 -2
  130. package/dist/esm/ion-picker.entry.js +1 -1
  131. package/dist/esm/ion-popover.entry.js +5 -5
  132. package/dist/esm/ion-progress-bar.entry.js +2 -2
  133. package/dist/esm/ion-radio_2.entry.js +11 -11
  134. package/dist/esm/ion-range.entry.js +12 -9
  135. package/dist/esm/ion-refresher_2.entry.js +2 -2
  136. package/dist/esm/ion-reorder_2.entry.js +2 -2
  137. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  138. package/dist/esm/ion-route_4.entry.js +2 -2
  139. package/dist/esm/ion-searchbar.entry.js +2 -2
  140. package/dist/esm/ion-segment_2.entry.js +21 -8
  141. package/dist/esm/ion-select_3.entry.js +10 -10
  142. package/dist/esm/ion-spinner.entry.js +2 -2
  143. package/dist/esm/ion-split-pane.entry.js +2 -2
  144. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  145. package/dist/esm/ion-tab_2.entry.js +13 -3
  146. package/dist/esm/ion-text.entry.js +2 -2
  147. package/dist/esm/ion-textarea.entry.js +2 -2
  148. package/dist/esm/ion-toast.entry.js +4 -4
  149. package/dist/esm/ion-toggle.entry.js +11 -11
  150. package/dist/esm/{ionic-global-81a1064f.js → ionic-global-c81d82ab.js} +1 -1
  151. package/dist/esm/ionic.js +5 -5
  152. package/dist/esm/{ios.transition-0a5004b4.js → ios.transition-4ee1a3af.js} +3 -3
  153. package/dist/esm/loader.js +4 -4
  154. package/dist/esm/{md.transition-b6135ada.js → md.transition-5106a0d2.js} +3 -3
  155. package/dist/esm/{overlays-e1bad9cd.js → overlays-9c75ec54.js} +2 -2
  156. package/dist/esm/{status-tap-17122cea.js → status-tap-f472b09f.js} +1 -1
  157. package/dist/esm-es5/app-globals-5dbb61a5.js +4 -0
  158. package/dist/esm-es5/{button-active-78f50add.js → button-active-f6503382.js} +1 -1
  159. package/dist/esm-es5/{hardware-back-button-2e99752e.js → hardware-back-button-06ef3c3e.js} +1 -1
  160. package/dist/esm-es5/index-28849c61.js +5 -0
  161. package/dist/esm-es5/{index-8808daa5.js → index-3ad7f18b.js} +1 -1
  162. package/dist/esm-es5/{index-4094f808.js → index-fe1782b1.js} +1 -1
  163. package/dist/esm-es5/index.js +1 -1
  164. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  165. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  166. package/dist/esm-es5/ion-alert.entry.js +1 -1
  167. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  168. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  169. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  170. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  171. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  174. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  175. package/dist/esm-es5/ion-chip.entry.js +1 -1
  176. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  177. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  178. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  179. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  180. package/dist/esm-es5/ion-img.entry.js +1 -1
  181. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  182. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  183. package/dist/esm-es5/ion-input.entry.js +1 -1
  184. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  185. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  186. package/dist/esm-es5/ion-loading.entry.js +1 -1
  187. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  188. package/dist/esm-es5/ion-modal.entry.js +1 -1
  189. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  190. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  191. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  192. package/dist/esm-es5/ion-picker.entry.js +1 -1
  193. package/dist/esm-es5/ion-popover.entry.js +1 -1
  194. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  195. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  196. package/dist/esm-es5/ion-range.entry.js +1 -1
  197. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  198. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  199. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  200. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  201. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  202. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  203. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  204. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  205. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  206. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  207. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-text.entry.js +1 -1
  209. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  210. package/dist/esm-es5/ion-toast.entry.js +1 -1
  211. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  212. package/dist/esm-es5/{ionic-global-81a1064f.js → ionic-global-c81d82ab.js} +1 -1
  213. package/dist/esm-es5/ionic.js +1 -1
  214. package/dist/esm-es5/{ios.transition-0a5004b4.js → ios.transition-4ee1a3af.js} +1 -1
  215. package/dist/esm-es5/loader.js +1 -1
  216. package/dist/esm-es5/md.transition-5106a0d2.js +4 -0
  217. package/dist/esm-es5/{overlays-e1bad9cd.js → overlays-9c75ec54.js} +1 -1
  218. package/dist/esm-es5/{status-tap-17122cea.js → status-tap-f472b09f.js} +1 -1
  219. package/dist/html.html-data.json +6 -6
  220. package/dist/ionic/index.esm.js +1 -1
  221. package/dist/ionic/ionic.esm.js +1 -1
  222. package/dist/ionic/ionic.js +1 -1
  223. package/dist/ionic/p-003eecb9.entry.js +4 -0
  224. package/dist/ionic/{p-15c36478.system.entry.js → p-00b01a55.system.entry.js} +1 -1
  225. package/dist/ionic/{p-d450f1f9.system.entry.js → p-01503bbd.system.entry.js} +1 -1
  226. package/dist/ionic/{p-dc4a3358.js → p-0303d0f8.js} +1 -1
  227. package/dist/ionic/p-0373d924.system.entry.js +4 -0
  228. package/dist/ionic/{p-972902db.js → p-0574e87e.js} +1 -1
  229. package/dist/ionic/{p-6d32eb3c.entry.js → p-0fa0c92b.entry.js} +1 -1
  230. package/dist/ionic/p-100b83fd.system.entry.js +4 -0
  231. package/dist/ionic/p-17474161.system.js +4 -0
  232. package/dist/ionic/{p-60a6fadb.entry.js → p-176b372f.entry.js} +1 -1
  233. package/dist/ionic/{p-46cf378f.entry.js → p-21cfd4de.entry.js} +1 -1
  234. package/dist/ionic/p-21e5e7e4.js +4 -0
  235. package/dist/ionic/p-2200e26b.entry.js +4 -0
  236. package/dist/ionic/{p-299a2ccb.system.entry.js → p-22c020db.system.entry.js} +1 -1
  237. package/dist/ionic/{p-4c68bf47.entry.js → p-233e6c93.entry.js} +1 -1
  238. package/dist/ionic/p-25180df3.system.js +5 -0
  239. package/dist/ionic/{p-fd61bdcd.system.entry.js → p-25928b83.system.entry.js} +1 -1
  240. package/dist/ionic/p-293ed6ac.system.entry.js +4 -0
  241. package/dist/ionic/p-2b7c93b4.entry.js +4 -0
  242. package/dist/ionic/{p-5c5e7f5c.entry.js → p-2c4bdd9d.entry.js} +1 -1
  243. package/dist/ionic/{p-b7b4c08d.system.entry.js → p-2ca6eac2.system.entry.js} +1 -1
  244. package/dist/ionic/{p-33ce19cf.system.entry.js → p-2ea1ca4f.system.entry.js} +1 -1
  245. package/dist/ionic/{p-6b14212a.system.entry.js → p-313ccc01.system.entry.js} +1 -1
  246. package/dist/ionic/{p-767a0d69.system.js → p-322c5fb4.system.js} +1 -1
  247. package/dist/ionic/{p-3fcfe35c.system.js → p-372ae7f4.system.js} +1 -1
  248. package/dist/ionic/{p-8df34150.system.js → p-3c8e5c23.system.js} +1 -1
  249. package/dist/ionic/{p-11c4215a.system.entry.js → p-3c968c7f.system.entry.js} +1 -1
  250. package/dist/ionic/p-44d1539c.system.entry.js +4 -0
  251. package/dist/ionic/{p-f8856320.entry.js → p-49bc6544.entry.js} +1 -1
  252. package/dist/ionic/{p-6fb5e9a7.system.entry.js → p-4a0a4204.system.entry.js} +1 -1
  253. package/dist/ionic/{p-611bb4d1.system.entry.js → p-4a82bd1c.system.entry.js} +1 -1
  254. package/dist/ionic/{p-f0899af9.system.entry.js → p-4b0fedb7.system.entry.js} +1 -1
  255. package/dist/ionic/{p-7dbadc9f.entry.js → p-4c8fceb0.entry.js} +1 -1
  256. package/dist/ionic/p-521eca2e.entry.js +4 -0
  257. package/dist/ionic/{p-f81cef9b.entry.js → p-53854390.entry.js} +1 -1
  258. package/dist/ionic/{p-f7ed7806.entry.js → p-5417b9bb.entry.js} +1 -1
  259. package/dist/ionic/p-5800e441.entry.js +4 -0
  260. package/dist/ionic/{p-cfcc1b63.system.js → p-5da94421.system.js} +1 -1
  261. package/dist/ionic/{p-74890c76.entry.js → p-5e66bcf2.entry.js} +1 -1
  262. package/dist/ionic/{p-0abd2546.entry.js → p-5e842258.entry.js} +1 -1
  263. package/dist/ionic/{p-6782ffa5.system.entry.js → p-6562e0a9.system.entry.js} +1 -1
  264. package/dist/ionic/{p-c21ea624.system.entry.js → p-6817cf42.system.entry.js} +1 -1
  265. package/dist/ionic/{p-cb19fdbf.entry.js → p-68c4df55.entry.js} +1 -1
  266. package/dist/ionic/p-69066a53.js +4 -0
  267. package/dist/ionic/{p-98566693.entry.js → p-6b8893dd.entry.js} +1 -1
  268. package/dist/ionic/{p-7e192c6a.entry.js → p-6e85e450.entry.js} +1 -1
  269. package/dist/ionic/{p-deb257b7.entry.js → p-7243df6f.entry.js} +1 -1
  270. package/dist/ionic/{p-3b767add.entry.js → p-7251fed5.entry.js} +1 -1
  271. package/dist/ionic/p-72ffd137.system.entry.js +4 -0
  272. package/dist/ionic/{p-ef83f46b.system.entry.js → p-755b27f0.system.entry.js} +1 -1
  273. package/dist/ionic/{p-a8ed8cd3.system.entry.js → p-75c0dc65.system.entry.js} +1 -1
  274. package/dist/ionic/{p-4f54d1aa.system.entry.js → p-772dacba.system.entry.js} +1 -1
  275. package/dist/ionic/{p-271076f2.entry.js → p-773d118d.entry.js} +1 -1
  276. package/dist/ionic/p-7740e32c.system.js +4 -0
  277. package/dist/ionic/p-82ab7ccb.entry.js +4 -0
  278. package/dist/ionic/p-836d39d4.system.entry.js +4 -0
  279. package/dist/ionic/{p-6ef231bc.system.entry.js → p-8836d0eb.system.entry.js} +1 -1
  280. package/dist/ionic/{p-1974d32f.js → p-88e63c7d.js} +1 -1
  281. package/dist/ionic/{p-344d6225.entry.js → p-89a0a446.entry.js} +1 -1
  282. package/dist/ionic/{p-09f64b99.system.entry.js → p-8b6232a6.system.entry.js} +1 -1
  283. package/dist/ionic/{p-c2438564.entry.js → p-8d44cf1f.entry.js} +1 -1
  284. package/dist/ionic/{p-d967f9ce.system.entry.js → p-8ed31163.system.entry.js} +1 -1
  285. package/dist/ionic/p-9172535c.entry.js +4 -0
  286. package/dist/ionic/{p-283c6631.entry.js → p-92d7a3d1.entry.js} +1 -1
  287. package/dist/ionic/{p-527815e1.system.entry.js → p-93f37ceb.system.entry.js} +1 -1
  288. package/dist/ionic/{p-0db55ab4.system.entry.js → p-95823c62.system.entry.js} +1 -1
  289. package/dist/ionic/{p-49c011e3.system.entry.js → p-960803fc.system.entry.js} +1 -1
  290. package/dist/ionic/{p-aa34fd2f.system.entry.js → p-973f0b15.system.entry.js} +1 -1
  291. package/dist/ionic/{p-ef57ad27.system.js → p-98871496.system.js} +1 -1
  292. package/dist/ionic/{p-b7d1659f.system.entry.js → p-9b6c6302.system.entry.js} +1 -1
  293. package/dist/ionic/{p-7a6e6896.entry.js → p-9c23044d.entry.js} +1 -1
  294. package/dist/ionic/{p-be9fe750.system.entry.js → p-9cc3bcc5.system.entry.js} +1 -1
  295. package/dist/ionic/{p-679744bf.entry.js → p-9ece8dcf.entry.js} +1 -1
  296. package/dist/ionic/p-9f3008d4.system.js +4 -0
  297. package/dist/ionic/{p-eb988a08.entry.js → p-9fef1364.entry.js} +1 -1
  298. package/dist/ionic/{p-013621f0.system.entry.js → p-a0c88dc2.system.entry.js} +1 -1
  299. package/dist/ionic/{p-5303af24.system.entry.js → p-a3711608.system.entry.js} +1 -1
  300. package/dist/ionic/p-a41699db.entry.js +4 -0
  301. package/dist/ionic/p-a440397c.js +4 -0
  302. package/dist/ionic/{p-5c00ca73.system.js → p-a4565eb5.system.js} +1 -1
  303. package/dist/ionic/{p-b0bd4813.system.js → p-a4d51b8d.system.js} +1 -1
  304. package/dist/ionic/{p-2a08e244.system.js → p-a69b9fc5.system.js} +1 -1
  305. package/dist/ionic/{p-c29d39e0.system.entry.js → p-a72fb8a1.system.entry.js} +2 -2
  306. package/dist/ionic/{p-4de0819c.system.entry.js → p-a879ecb7.system.entry.js} +1 -1
  307. package/dist/ionic/{p-70e786ea.entry.js → p-ab8a2ff1.entry.js} +1 -1
  308. package/dist/ionic/p-ad9b5007.system.entry.js +4 -0
  309. package/dist/ionic/{p-a60914c0.entry.js → p-af999a31.entry.js} +1 -1
  310. package/dist/ionic/{p-d755fc91.system.entry.js → p-b0180ce1.system.entry.js} +1 -1
  311. package/dist/ionic/p-b4c950f8.entry.js +4 -0
  312. package/dist/ionic/p-b54fc1ae.entry.js +4 -0
  313. package/dist/ionic/{p-df4c53fe.entry.js → p-b7657e8d.entry.js} +1 -1
  314. package/dist/ionic/{p-e8162d35.system.entry.js → p-baffaf8d.system.entry.js} +1 -1
  315. package/dist/ionic/p-bd25d639.system.entry.js +4 -0
  316. package/dist/ionic/{p-3961b22e.entry.js → p-bfa2e81c.entry.js} +1 -1
  317. package/dist/ionic/{p-1c6cd5bc.entry.js → p-c34659b9.entry.js} +1 -1
  318. package/dist/ionic/{p-fc55e1c2.system.entry.js → p-cdb11938.system.entry.js} +1 -1
  319. package/dist/ionic/{p-437d3e12.system.entry.js → p-ce705aac.system.entry.js} +1 -1
  320. package/dist/ionic/{p-978bbfe5.system.entry.js → p-cff5585e.system.entry.js} +1 -1
  321. package/dist/ionic/{p-5e17dc69.entry.js → p-d57661a1.entry.js} +1 -1
  322. package/dist/ionic/{p-678beb9e.js → p-d6841eac.js} +1 -1
  323. package/dist/ionic/{p-274496f1.js → p-d743e981.js} +1 -1
  324. package/dist/ionic/{p-6c8d40f8.entry.js → p-d77e12ca.entry.js} +1 -1
  325. package/dist/ionic/p-d836d43e.js +5 -0
  326. package/dist/ionic/{p-bbeeadc8.entry.js → p-da263d8e.entry.js} +1 -1
  327. package/dist/ionic/{p-5d0b285d.system.entry.js → p-df83e308.system.entry.js} +1 -1
  328. package/dist/ionic/{p-25467ef7.entry.js → p-e3a5da9d.entry.js} +1 -1
  329. package/dist/ionic/{p-4d96e6a7.entry.js → p-e3e1e3de.entry.js} +1 -1
  330. package/dist/ionic/p-e3f13b08.js +4 -0
  331. package/dist/ionic/p-ecb57d24.system.entry.js +4 -0
  332. package/dist/ionic/{p-9d88dc43.js → p-ecceeb90.js} +1 -1
  333. package/dist/ionic/{p-1924eefd.system.entry.js → p-ed6962d3.system.entry.js} +1 -1
  334. package/dist/ionic/{p-2496a357.entry.js → p-efaffe74.entry.js} +1 -1
  335. package/dist/ionic/{p-cec53b82.system.entry.js → p-f1acf541.system.entry.js} +2 -2
  336. package/dist/ionic/{p-99740380.system.entry.js → p-f50ae0d5.system.entry.js} +1 -1
  337. package/dist/ionic/{p-fca84e5b.entry.js → p-f559ac5b.entry.js} +1 -1
  338. package/dist/ionic/p-f88ebc36.entry.js +4 -0
  339. package/dist/ionic/{p-c8a847f1.entry.js → p-f8c8b9ba.entry.js} +1 -1
  340. package/dist/ionic/{p-e72fcc94.system.js → p-f9a53abb.system.js} +1 -1
  341. package/dist/ionic/{p-ddd3b389.system.entry.js → p-fcd71204.system.entry.js} +1 -1
  342. package/dist/ionic/p-fd0cb4ef.entry.js +4 -0
  343. package/dist/types/components/app/app.d.ts +0 -1
  344. package/dist/types/components/checkbox/checkbox.d.ts +4 -2
  345. package/dist/types/components/content/content.d.ts +2 -0
  346. package/dist/types/components/datetime/utils/format.d.ts +1 -1
  347. package/dist/types/components/datetime/utils/helpers.d.ts +1 -1
  348. package/dist/types/components/datetime/utils/manipulation.d.ts +6 -6
  349. package/dist/types/components/radio/radio.d.ts +4 -2
  350. package/dist/types/components/router/utils/matching.d.ts +1 -1
  351. package/dist/types/components/select/select.d.ts +1 -1
  352. package/dist/types/components/toggle/toggle.d.ts +4 -2
  353. package/dist/types/components.d.ts +22 -19
  354. package/dist/types/utils/input-shims/input-shims.d.ts +1 -1
  355. package/dist/types/utils/rtl/dir.d.ts +1 -1
  356. package/dist/types/utils/test/platform.utils.d.ts +0 -1
  357. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +1 -5
  358. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +1 -1
  359. package/hydrate/index.js +244 -189
  360. package/hydrate/index.mjs +244 -189
  361. package/package.json +6 -6
  362. package/dist/esm-es5/app-globals-7f30ce3c.js +0 -4
  363. package/dist/esm-es5/index-7a952e7a.js +0 -5
  364. package/dist/esm-es5/md.transition-b6135ada.js +0 -4
  365. package/dist/ionic/p-071cb08a.entry.js +0 -4
  366. package/dist/ionic/p-096664b8.entry.js +0 -4
  367. package/dist/ionic/p-14f0f49f.system.js +0 -4
  368. package/dist/ionic/p-1b2c22ed.entry.js +0 -4
  369. package/dist/ionic/p-2b017e39.system.entry.js +0 -4
  370. package/dist/ionic/p-39af4fa4.system.entry.js +0 -4
  371. package/dist/ionic/p-41e85f07.js +0 -4
  372. package/dist/ionic/p-4af59128.entry.js +0 -4
  373. package/dist/ionic/p-54690f26.system.entry.js +0 -4
  374. package/dist/ionic/p-5a28559b.js +0 -5
  375. package/dist/ionic/p-5e687df9.js +0 -4
  376. package/dist/ionic/p-67bc0359.entry.js +0 -4
  377. package/dist/ionic/p-6904a62e.system.entry.js +0 -4
  378. package/dist/ionic/p-6e3e94e2.js +0 -4
  379. package/dist/ionic/p-6f7eb5d1.system.js +0 -5
  380. package/dist/ionic/p-7048fe74.entry.js +0 -4
  381. package/dist/ionic/p-804c9125.system.entry.js +0 -4
  382. package/dist/ionic/p-9847b92f.system.entry.js +0 -4
  383. package/dist/ionic/p-9df171a1.entry.js +0 -4
  384. package/dist/ionic/p-a69e118f.entry.js +0 -4
  385. package/dist/ionic/p-b2cd7aae.js +0 -4
  386. package/dist/ionic/p-b59d0fab.system.js +0 -4
  387. package/dist/ionic/p-d274a7d8.entry.js +0 -4
  388. package/dist/ionic/p-d950be65.entry.js +0 -4
  389. package/dist/ionic/p-dc321750.entry.js +0 -4
  390. package/dist/ionic/p-ec1562e7.system.js +0 -4
  391. package/dist/ionic/p-eda5abe2.entry.js +0 -4
  392. package/dist/ionic/p-f66fed32.system.entry.js +0 -4
  393. package/dist/ionic/p-f8083fd4.system.entry.js +0 -4
  394. package/dist/ionic/p-fe74ecc0.system.entry.js +0 -4
@@ -110,6 +110,7 @@
110
110
  display: flex;
111
111
  flex-grow: 1;
112
112
  align-items: center;
113
+ justify-content: space-between;
113
114
  height: inherit;
114
115
  cursor: inherit;
115
116
  }
@@ -120,7 +121,8 @@
120
121
  overflow: hidden;
121
122
  }
122
123
 
123
- :host(.in-item) .label-text-wrapper {
124
+ :host(.in-item) .label-text-wrapper,
125
+ :host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper {
124
126
  margin-top: 10px;
125
127
  margin-bottom: 10px;
126
128
  }
@@ -207,6 +209,14 @@ input {
207
209
  align-items: center;
208
210
  }
209
211
 
212
+ :host(.checkbox-justify-space-between),
213
+ :host(.checkbox-justify-start),
214
+ :host(.checkbox-justify-end),
215
+ :host(.checkbox-alignment-start),
216
+ :host(.checkbox-alignment-center) {
217
+ display: block;
218
+ }
219
+
210
220
  /**
211
221
  * Label is on the left of the checkbox in LTR and
212
222
  * on the right in RTL.
@@ -56,8 +56,8 @@ export class Checkbox {
56
56
  this.disabled = false;
57
57
  this.value = 'on';
58
58
  this.labelPlacement = 'start';
59
- this.justify = 'space-between';
60
- this.alignment = 'center';
59
+ this.justify = undefined;
60
+ this.alignment = undefined;
61
61
  }
62
62
  componentWillLoad() {
63
63
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -72,20 +72,20 @@ export class Checkbox {
72
72
  const mode = getIonMode(this);
73
73
  const path = getSVGPath(mode, indeterminate);
74
74
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
75
- return (h(Host, { key: '0ac95890562c7f035704c40959c69f8c8ca4bc9f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
75
+ return (h(Host, { key: 'd7a07fbf130413eaa4622c07786e8a00723113eb', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
76
76
  [mode]: true,
77
77
  'in-item': hostContext('ion-item', el),
78
78
  'checkbox-checked': checked,
79
79
  'checkbox-disabled': disabled,
80
80
  'checkbox-indeterminate': indeterminate,
81
81
  interactive: true,
82
- [`checkbox-justify-${justify}`]: true,
83
- [`checkbox-alignment-${alignment}`]: true,
82
+ [`checkbox-justify-${justify}`]: justify !== undefined,
83
+ [`checkbox-alignment-${alignment}`]: alignment !== undefined,
84
84
  [`checkbox-label-placement-${labelPlacement}`]: true,
85
- }), onClick: this.onClick }, h("label", { key: '3f9f7c8383dded8f7997086b25399d052df76b5c', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '6fb11d06c424c289357d5d7c1a4d1b967be231d0', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'f577a272e5e3f9f1852fc95e40466c80b76309c7', class: {
85
+ }), onClick: this.onClick }, h("label", { key: '99797589ed4ea7cbac53531c85b2d4a2dcd568c4', class: "checkbox-wrapper" }, h("input", Object.assign({ key: 'cc12fe7920ab23c6f21546f7b312b8f1f5671349', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: '1b087f061da5abca6129d372503d8882b77e24be', class: {
86
86
  'label-text-wrapper': true,
87
87
  'label-text-wrapper-hidden': el.textContent === '',
88
- }, part: "label" }, h("slot", { key: '7c9b0b4513e797a1acdf55a5f286563e5f397e9c' })), h("div", { key: 'e47c50a078b8d761ddc5efcb9a9635281b5818f6', class: "native-wrapper" }, h("svg", { key: '4dca47179ae15e9094e01c799ef4ed25fbb0d840', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
88
+ }, part: "label" }, h("slot", { key: 'bc84274c826fa1db1207230aa03bf5790afe2992' })), h("div", { key: '89e9396dc9215804bd8ac42e943a292d050ef8c5', class: "native-wrapper" }, h("svg", { key: '2aafac248c639074faaf17044d8d9204474a9b7b', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
89
89
  }
90
90
  getSVGPath(mode, indeterminate) {
91
91
  let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -246,36 +246,34 @@ export class Checkbox {
246
246
  "mutable": false,
247
247
  "complexType": {
248
248
  "original": "'start' | 'end' | 'space-between'",
249
- "resolved": "\"end\" | \"space-between\" | \"start\"",
249
+ "resolved": "\"end\" | \"space-between\" | \"start\" | undefined",
250
250
  "references": {}
251
251
  },
252
252
  "required": false,
253
- "optional": false,
253
+ "optional": true,
254
254
  "docs": {
255
255
  "tags": [],
256
- "text": "How to pack the label and checkbox within a line.\n`\"start\"`: The label and checkbox will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and checkbox will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and checkbox will appear on opposite\nends of the line with space between the two elements."
256
+ "text": "How to pack the label and checkbox within a line.\n`\"start\"`: The label and checkbox will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and checkbox will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and checkbox will appear on opposite\nends of the line with space between the two elements.\nSetting this property will change the checkbox `display` to `block`."
257
257
  },
258
258
  "attribute": "justify",
259
- "reflect": false,
260
- "defaultValue": "'space-between'"
259
+ "reflect": false
261
260
  },
262
261
  "alignment": {
263
262
  "type": "string",
264
263
  "mutable": false,
265
264
  "complexType": {
266
265
  "original": "'start' | 'center'",
267
- "resolved": "\"center\" | \"start\"",
266
+ "resolved": "\"center\" | \"start\" | undefined",
268
267
  "references": {}
269
268
  },
270
269
  "required": false,
271
- "optional": false,
270
+ "optional": true,
272
271
  "docs": {
273
272
  "tags": [],
274
- "text": "How to control the alignment of the checkbox and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
273
+ "text": "How to control the alignment of the checkbox and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.\nSetting this property will change the checkbox `display` to `block`."
275
274
  },
276
275
  "attribute": "alignment",
277
- "reflect": false,
278
- "defaultValue": "'center'"
276
+ "reflect": false
279
277
  }
280
278
  };
281
279
  }
@@ -110,6 +110,7 @@
110
110
  display: flex;
111
111
  flex-grow: 1;
112
112
  align-items: center;
113
+ justify-content: space-between;
113
114
  height: inherit;
114
115
  cursor: inherit;
115
116
  }
@@ -120,7 +121,8 @@
120
121
  overflow: hidden;
121
122
  }
122
123
 
123
- :host(.in-item) .label-text-wrapper {
124
+ :host(.in-item) .label-text-wrapper,
125
+ :host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper {
124
126
  margin-top: 10px;
125
127
  margin-bottom: 10px;
126
128
  }
@@ -207,6 +209,14 @@ input {
207
209
  align-items: center;
208
210
  }
209
211
 
212
+ :host(.checkbox-justify-space-between),
213
+ :host(.checkbox-justify-start),
214
+ :host(.checkbox-justify-end),
215
+ :host(.checkbox-alignment-start),
216
+ :host(.checkbox-alignment-center) {
217
+ display: block;
218
+ }
219
+
210
220
  /**
211
221
  * Label is on the left of the checkbox in LTR and
212
222
  * on the right in RTL.
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Build, Host, forceUpdate, h, readTask } from "@stencil/core";
5
- import { componentOnReady, hasLazyBuild } from "../../utils/helpers";
5
+ import { componentOnReady, hasLazyBuild, inheritAriaAttributes } from "../../utils/helpers";
6
6
  import { isPlatform } from "../../utils/platform";
7
7
  import { isRTL } from "../../utils/rtl/index";
8
8
  import { createColorClasses, hostContext } from "../../utils/theme";
@@ -24,6 +24,7 @@ export class Content {
24
24
  this.cBottom = -1;
25
25
  this.isMainContent = true;
26
26
  this.resizeTimeout = null;
27
+ this.inheritedAttributes = {};
27
28
  this.tabsElement = null;
28
29
  // Detail is used in a hot loop in the scroll event, by allocating it here
29
30
  // V8 will be able to inline any read/write to it since it's a monomorphic class.
@@ -54,6 +55,9 @@ export class Content {
54
55
  this.scrollY = true;
55
56
  this.scrollEvents = false;
56
57
  }
58
+ componentWillLoad() {
59
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
60
+ }
57
61
  connectedCallback() {
58
62
  this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
59
63
  /**
@@ -330,13 +334,13 @@ export class Content {
330
334
  }
331
335
  }
332
336
  render() {
333
- const { fixedSlotPlacement, isMainContent, scrollX, scrollY, el } = this;
337
+ const { fixedSlotPlacement, inheritedAttributes, isMainContent, scrollX, scrollY, el } = this;
334
338
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
335
339
  const mode = getIonMode(this);
336
340
  const forceOverscroll = this.shouldForceOverscroll();
337
341
  const transitionShadow = mode === 'ios';
338
342
  this.resize();
339
- return (h(Host, { key: 'f599a7da14969df38c20a6f650179d2a319fb58b', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
343
+ return (h(Host, Object.assign({ key: '92a7cbc2e9c812930f4231bd846411933a5dded6', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
340
344
  [mode]: true,
341
345
  'content-sizing': hostContext('ion-popover', this.el),
342
346
  overscroll: forceOverscroll,
@@ -344,12 +348,12 @@ export class Content {
344
348
  }), style: {
345
349
  '--offset-top': `${this.cTop}px`,
346
350
  '--offset-bottom': `${this.cBottom}px`,
347
- } }, h("div", { key: '7c545c3c95ea05abd036d0462936ac153d2a8fc6', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'a67ab7438466c99f74b7ba59964802c3ba86ac5b', class: {
351
+ } }, inheritedAttributes), h("div", { key: '52498d8874b9944b8245e448ea9dfc75b3929c2d', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '00e157a53485b285300404178436276afceb63f5', class: {
348
352
  'inner-scroll': true,
349
353
  'scroll-x': scrollX,
350
354
  'scroll-y': scrollY,
351
355
  overscroll: (scrollX || scrollY) && forceOverscroll,
352
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '6d10fcac2e40b4dd6c20d91a8957ac07251d2fa7' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
356
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '8522320514a2e8a63f7dc9ade6c1fb3fb00f454e' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
353
357
  }
354
358
  static get is() { return "ion-content"; }
355
359
  static get encapsulation() { return "shadow"; }
@@ -458,7 +458,7 @@ export class Datetime {
458
458
  }
459
459
  };
460
460
  this.processValue = (value) => {
461
- const hasValue = value !== null && value !== undefined && (!Array.isArray(value) || value.length > 0);
461
+ const hasValue = value !== null && value !== undefined && value !== '' && (!Array.isArray(value) || value.length > 0);
462
462
  const valueToProcess = hasValue ? parseDate(value) : this.defaultParts;
463
463
  const { minParts, maxParts, workingParts, el } = this;
464
464
  this.warnIfIncorrectValueUsage();
@@ -1557,7 +1557,7 @@ export class Datetime {
1557
1557
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1558
1558
  const hasWheelVariant = hasDatePresentation && preferWheel;
1559
1559
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1560
- return (h(Host, { key: '48313af4ec8e2a2666cd8c89932c5131dfa7b556', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1560
+ return (h(Host, { key: '2933ce5caaeb21a633b1ec4d936e86b0f0890807', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1561
1561
  [mode]: true,
1562
1562
  ['datetime-readonly']: readonly,
1563
1563
  ['datetime-disabled']: disabled,
@@ -1567,7 +1567,7 @@ export class Datetime {
1567
1567
  [`datetime-size-${size}`]: true,
1568
1568
  [`datetime-prefer-wheel`]: hasWheelVariant,
1569
1569
  [`datetime-grid`]: isGridStyle,
1570
- })) }, h("div", { key: 'b72570048236415aed915488305046d987d51dcf', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1570
+ })) }, h("div", { key: '0efc9ef0aa1a29234412b2eddf5d7ff899b7543f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1571
1571
  }
1572
1572
  static get is() { return "ion-datetime"; }
1573
1573
  static get encapsulation() { return "shadow"; }
@@ -97,7 +97,7 @@ export class Item {
97
97
  // input cover on top of those interfering with their clicks
98
98
  const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');
99
99
  // The following elements should also stay clickable when an input with cover is present
100
- const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button');
100
+ const clickables = this.el.querySelectorAll('ion-router-link, ion-button, a, button');
101
101
  // Check for multiple inputs to change the position of the input cover to relative
102
102
  // for all of the covered inputs above
103
103
  this.multipleInputs =
@@ -202,7 +202,7 @@ export class Item {
202
202
  * However, other form controls such as checkboxes and radios do.
203
203
  */
204
204
  const firstInteractiveNeedsPointerCursor = firstInteractive !== undefined && !['ION-INPUT', 'ION-TEXTAREA'].includes(firstInteractive.tagName);
205
- return (h(Host, { key: 'f7986b5b81c4f289460bff2c452ce993b674236b', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
205
+ return (h(Host, { key: '02f540d8666146b5f2665ba6b39dfe774c65d5e6', "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
206
206
  item: true,
207
207
  [mode]: true,
208
208
  'item-lines-default': lines === undefined,
@@ -214,7 +214,7 @@ export class Item {
214
214
  'ion-activatable': canActivate,
215
215
  'ion-focusable': this.focusable,
216
216
  'item-rtl': document.dir === 'rtl',
217
- })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: 'cfafac67cdb532e4bce2dd4989e1936c013396ba' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: '68a5b8e978eed62d7d913ca006bd4bd01497cd32', name: "start" }), h("div", { key: '5b052cc338b00e8d40ab77cac7a139448f9b6452', class: "item-inner" }, h("div", { key: '7548addbe881a41ee32fd51627db230b56510760', class: "input-wrapper" }, h("slot", { key: 'b6f4edd5895b9f91bf060edb35666b0e7ea26ccc' })), h("slot", { key: 'b595e7fb96461ea2e356dbad6529531ca19705db', name: "end" }), showDetail && (h("ion-icon", { key: '091aa449464d530c921bd7de79bdc16fbdc14a70', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && h("ion-ripple-effect", { key: 'a4454f5ad15a67d5e41173d0227b77cd69776a18' }))));
217
+ })), role: inList ? 'listitem' : null }, h(TagType, Object.assign({ key: '91cf3eedc2d7eca40a45fc3b0aaae5a87d387eb7' }, attrs, inheritedAriaAttributes, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { key: 'ae4c679ca903a78a7c933c1d02f21f5d677b6388', name: "start" }), h("div", { key: 'a61de72dce135b6dce18e6fa19680524958924dd', class: "item-inner" }, h("div", { key: 'd5b09966b6de8d6b4da8e139875edec4eeb1ae27', class: "input-wrapper" }, h("slot", { key: '79077e5708a1783b135fab6f8caff9fb2f6f387a' })), h("slot", { key: 'cdcc71689a87e985d32170ab98538ef25227f384', name: "end" }), showDetail && (h("ion-icon", { key: '1e82f2d0e2d2fc18bd3429a7c72e4e57447cad7a', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && h("ion-ripple-effect", { key: 'ab9842d0d9c64408573f07323e10f9ed29fbe6e2' }))));
218
218
  }
219
219
  static get is() { return "ion-item"; }
220
220
  static get encapsulation() { return "shadow"; }
@@ -135,6 +135,7 @@ input {
135
135
  position: relative;
136
136
  flex-grow: 1;
137
137
  align-items: center;
138
+ justify-content: space-between;
138
139
  height: inherit;
139
140
  min-height: inherit;
140
141
  cursor: inherit;
@@ -194,6 +195,14 @@ input {
194
195
  align-items: center;
195
196
  }
196
197
 
198
+ :host(.radio-justify-space-between),
199
+ :host(.radio-justify-start),
200
+ :host(.radio-justify-end),
201
+ :host(.radio-alignment-start),
202
+ :host(.radio-alignment-center) {
203
+ display: block;
204
+ }
205
+
197
206
  /**
198
207
  * Label is on the left of the radio in LTR and
199
208
  * on the right in RTL.
@@ -59,8 +59,8 @@ export class Radio {
59
59
  this.disabled = false;
60
60
  this.value = undefined;
61
61
  this.labelPlacement = 'start';
62
- this.justify = 'space-between';
63
- this.alignment = 'center';
62
+ this.justify = undefined;
63
+ this.alignment = undefined;
64
64
  }
65
65
  valueChanged() {
66
66
  /**
@@ -118,21 +118,21 @@ export class Radio {
118
118
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
119
119
  const mode = getIonMode(this);
120
120
  const inItem = hostContext('ion-item', el);
121
- return (h(Host, { key: '43c95effb6acb119733270e8a5e02fe18b47ee4b', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
121
+ return (h(Host, { key: 'd6d9525eea9dadc3ea7060eb9b8cbb919e1d7091', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
122
122
  [mode]: true,
123
123
  'in-item': inItem,
124
124
  'radio-checked': checked,
125
125
  'radio-disabled': disabled,
126
- [`radio-justify-${justify}`]: true,
127
- [`radio-alignment-${alignment}`]: true,
126
+ [`radio-justify-${justify}`]: justify !== undefined,
127
+ [`radio-alignment-${alignment}`]: alignment !== undefined,
128
128
  [`radio-label-placement-${labelPlacement}`]: true,
129
129
  // Focus and active styling should not apply when the radio is in an item
130
130
  'ion-activatable': !inItem,
131
131
  'ion-focusable': !inItem,
132
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '168ea77c08fde9832077d617662b93dc9986b544', class: "radio-wrapper" }, h("div", { key: 'ce1e6eee63fbab1e5a66b18f767f4eecc2a227f1', class: {
132
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '3ec73512bac8feb651c66e544899c6a4330d504c', class: "radio-wrapper" }, h("div", { key: '9ae7ecb19c7bafe0ce3d0f717af0338251964ebf', class: {
133
133
  'label-text-wrapper': true,
134
134
  'label-text-wrapper-hidden': !hasLabel,
135
- }, part: "label" }, h("slot", { key: '7d849e43d4356b5c3978c2bba9a6fba5d21ca69d' })), h("div", { key: 'e741f7822364958b050a232bdfccdc413095c244', class: "native-wrapper" }, this.renderRadioControl()))));
135
+ }, part: "label" }, h("slot", { key: '2950f1579a22d4a06f9c903fd462c2b46f43bfd7' })), h("div", { key: '8b19ce30b39066744108a6de2da42a7ce8ffdbec', class: "native-wrapper" }, this.renderRadioControl()))));
136
136
  }
137
137
  static get is() { return "ion-radio"; }
138
138
  static get encapsulation() { return "shadow"; }
@@ -249,36 +249,34 @@ export class Radio {
249
249
  "mutable": false,
250
250
  "complexType": {
251
251
  "original": "'start' | 'end' | 'space-between'",
252
- "resolved": "\"end\" | \"space-between\" | \"start\"",
252
+ "resolved": "\"end\" | \"space-between\" | \"start\" | undefined",
253
253
  "references": {}
254
254
  },
255
255
  "required": false,
256
- "optional": false,
256
+ "optional": true,
257
257
  "docs": {
258
258
  "tags": [],
259
- "text": "How to pack the label and radio within a line.\n`\"start\"`: The label and radio will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and radio will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and radio will appear on opposite\nends of the line with space between the two elements."
259
+ "text": "How to pack the label and radio within a line.\n`\"start\"`: The label and radio will appear on the left in LTR and\non the right in RTL.\n`\"end\"`: The label and radio will appear on the right in LTR and\non the left in RTL.\n`\"space-between\"`: The label and radio will appear on opposite\nends of the line with space between the two elements.\nSetting this property will change the radio `display` to `block`."
260
260
  },
261
261
  "attribute": "justify",
262
- "reflect": false,
263
- "defaultValue": "'space-between'"
262
+ "reflect": false
264
263
  },
265
264
  "alignment": {
266
265
  "type": "string",
267
266
  "mutable": false,
268
267
  "complexType": {
269
268
  "original": "'start' | 'center'",
270
- "resolved": "\"center\" | \"start\"",
269
+ "resolved": "\"center\" | \"start\" | undefined",
271
270
  "references": {}
272
271
  },
273
272
  "required": false,
274
- "optional": false,
273
+ "optional": true,
275
274
  "docs": {
276
275
  "tags": [],
277
- "text": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL."
276
+ "text": "How to control the alignment of the radio and label on the cross axis.\n`\"start\"`: The label and control will appear on the left of the cross axis in LTR, and on the right side in RTL.\n`\"center\"`: The label and control will appear at the center of the cross axis in both LTR and RTL.\nSetting this property will change the radio `display` to `block`."
278
277
  },
279
278
  "attribute": "alignment",
280
- "reflect": false,
281
- "defaultValue": "'center'"
279
+ "reflect": false
282
280
  }
283
281
  };
284
282
  }
@@ -135,6 +135,7 @@ input {
135
135
  position: relative;
136
136
  flex-grow: 1;
137
137
  align-items: center;
138
+ justify-content: space-between;
138
139
  height: inherit;
139
140
  min-height: inherit;
140
141
  cursor: inherit;
@@ -194,6 +195,14 @@ input {
194
195
  align-items: center;
195
196
  }
196
197
 
198
+ :host(.radio-justify-space-between),
199
+ :host(.radio-justify-start),
200
+ :host(.radio-justify-end),
201
+ :host(.radio-alignment-start),
202
+ :host(.radio-alignment-center) {
203
+ display: block;
204
+ }
205
+
197
206
  /**
198
207
  * Label is on the left of the radio in LTR and
199
208
  * on the right in RTL.
@@ -178,6 +178,7 @@ export class Range {
178
178
  this.didLoad = true;
179
179
  }
180
180
  connectedCallback() {
181
+ var _a;
181
182
  this.updateRatio();
182
183
  this.debounceChanged();
183
184
  this.disabledChanged();
@@ -191,7 +192,8 @@ export class Range {
191
192
  if (this.didLoad) {
192
193
  this.setupGesture();
193
194
  }
194
- this.contentEl = findClosestIonContent(this.el);
195
+ const ionContent = findClosestIonContent(this.el);
196
+ this.contentEl = (_a = ionContent === null || ionContent === void 0 ? void 0 : ionContent.querySelector('.ion-content-scroll-host')) !== null && _a !== void 0 ? _a : ionContent;
195
197
  }
196
198
  disconnectedCallback() {
197
199
  if (this.gesture) {
@@ -260,7 +262,7 @@ export class Range {
260
262
  *
261
263
  * This only needs to be done once.
262
264
  */
263
- if (contentEl && this.initialContentScrollY === undefined) {
265
+ if (contentEl && this.pressedKnob === undefined) {
264
266
  this.initialContentScrollY = disableContentScrollY(contentEl);
265
267
  }
266
268
  /**
@@ -287,8 +289,9 @@ export class Range {
287
289
  * @param detail The details of the gesture or mouse event.
288
290
  */
289
291
  onEnd(detail) {
292
+ var _a;
290
293
  const { contentEl, initialContentScrollY } = this;
291
- const currentX = detail.currentX || detail.clientX;
294
+ const currentX = (_a = detail.currentX) !== null && _a !== void 0 ? _a : detail.clientX;
292
295
  /**
293
296
  * The `pressedKnob` can be undefined if the user never
294
297
  * dragged the knob. They just tapped on the bar.
@@ -306,7 +309,7 @@ export class Range {
306
309
  *
307
310
  * The user can now scroll on the view in the next gesture event.
308
311
  */
309
- if (contentEl && initialContentScrollY !== undefined) {
312
+ if (contentEl && this.pressedKnob !== undefined) {
310
313
  resetContentScrollY(contentEl, initialContentScrollY);
311
314
  }
312
315
  // update the active knob's position
@@ -561,7 +564,7 @@ export class Range {
561
564
  const needsEndAdjustment = inItem && !hasEndContent;
562
565
  const mode = getIonMode(this);
563
566
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
564
- return (h(Host, { key: '7ad5ca892fd46c64ce5583e91e6812410a869921', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
567
+ return (h(Host, { key: '877c9f15e62fadb184f9da82dc19898227521e07', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
565
568
  [mode]: true,
566
569
  'in-item': inItem,
567
570
  'range-disabled': disabled,
@@ -570,10 +573,10 @@ export class Range {
570
573
  [`range-label-placement-${labelPlacement}`]: true,
571
574
  'range-item-start-adjustment': needsStartAdjustment,
572
575
  'range-item-end-adjustment': needsEndAdjustment,
573
- }) }, h("label", { key: 'eb8d46a9572341b4cc3c91d8a5de0667bd166ca4', class: "range-wrapper", id: "range-label" }, h("div", { key: '21acd6ff6eba17bf6923bf723fea055b95fd29ca', class: {
576
+ }) }, h("label", { key: '2ae9088349a65e09b0e33c53442190ef563b2345', class: "range-wrapper", id: "range-label" }, h("div", { key: 'c3d0ca96ceb1e57fbd383e9c7e4da14d931771b8', class: {
574
577
  'label-text-wrapper': true,
575
578
  'label-text-wrapper-hidden': !hasLabel,
576
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '7644c86a6ad3edf2c27f02dd2a14795b3720ea0d', class: "native-wrapper" }, h("slot", { key: '1bbeccee57addc126b36de395e28ba655248695b', name: "start" }), this.renderRangeSlider(), h("slot", { key: '2963dd84e4116fc3956c304eb53deefd0d1291df', name: "end" })))));
579
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '25d20fd5e015931f60a8ecc5374a1c84d167af9c', class: "native-wrapper" }, h("slot", { key: 'ae9f9fd92eed35b81ca97a81caa56332d8b6b2b2', name: "start" }), this.renderRangeSlider(), h("slot", { key: '74b7dede566a959c9b05a6de68426c7e339d18c8', name: "end" })))));
577
580
  }
578
581
  static get is() { return "ion-range"; }
579
582
  static get encapsulation() { return "shadow"; }
@@ -276,21 +276,34 @@ export class Segment {
276
276
  */
277
277
  const centeredX = activeButtonLeft - scrollContainerBox.width / 2 + activeButtonBox.width / 2;
278
278
  /**
279
- * We intentionally use scrollBy here instead of scrollIntoView
279
+ * newScrollPosition is the absolute scroll position that the
280
+ * container needs to move to in order to center the active button.
281
+ * It is calculated by adding the current scroll position
282
+ * (scrollLeft) to the offset needed to center the button
283
+ * (centeredX).
284
+ */
285
+ const newScrollPosition = el.scrollLeft + centeredX;
286
+ /**
287
+ * We intentionally use scrollTo here instead of scrollIntoView
280
288
  * to avoid a WebKit bug where accelerated animations break
281
289
  * when using scrollIntoView. Using scrollIntoView will cause the
282
290
  * segment container to jump during the transition and then snap into place.
283
291
  * This is because scrollIntoView can potentially cause parent element
284
- * containers to also scroll. scrollBy does not have this same behavior, so
292
+ * containers to also scroll. scrollTo does not have this same behavior, so
285
293
  * we use this API instead.
286
294
  *
295
+ * scrollTo is used instead of scrollBy because there is a
296
+ * Webkit bug that causes scrollBy to not work smoothly when
297
+ * the active button is near the edge of the scroll container.
298
+ * This leads to the buttons to jump around during the transition.
299
+ *
287
300
  * Note that if there is not enough scrolling space to center the element
288
301
  * within the scroll container, the browser will attempt
289
302
  * to center by as much as it can.
290
303
  */
291
- el.scrollBy({
304
+ el.scrollTo({
292
305
  top: 0,
293
- left: centeredX,
306
+ left: newScrollPosition,
294
307
  behavior: smoothScroll ? 'smooth' : 'instant',
295
308
  });
296
309
  }
@@ -421,14 +434,14 @@ export class Segment {
421
434
  }
422
435
  render() {
423
436
  const mode = getIonMode(this);
424
- return (h(Host, { key: 'ad0946134c8d465b760ad792655f1cb9922db520', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
437
+ return (h(Host, { key: 'f1f7103b4c298e037df850ac809a1a7c6e9987a7', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
425
438
  [mode]: true,
426
439
  'in-toolbar': hostContext('ion-toolbar', this.el),
427
440
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
428
441
  'segment-activated': this.activated,
429
442
  'segment-disabled': this.disabled,
430
443
  'segment-scrollable': this.scrollable,
431
- }) }, h("slot", { key: 'dcdb425bcda0d60acb7c317e5e671ed462715b4a', onSlotchange: this.onSlottedItemsChange })));
444
+ }) }, h("slot", { key: '6efdb318b13da8d21687084aa0761728fdf12579', onSlotchange: this.onSlottedItemsChange })));
432
445
  }
433
446
  static get is() { return "ion-segment"; }
434
447
  static get encapsulation() { return "shadow"; }
@@ -239,6 +239,7 @@ button {
239
239
  position: relative;
240
240
  flex-grow: 1;
241
241
  align-items: center;
242
+ justify-content: space-between;
242
243
  height: inherit;
243
244
  /**
244
245
  * This allows developers to set the height
@@ -79,7 +79,7 @@ export class Select {
79
79
  this.fill = undefined;
80
80
  this.interface = 'alert';
81
81
  this.interfaceOptions = {};
82
- this.justify = 'space-between';
82
+ this.justify = undefined;
83
83
  this.label = undefined;
84
84
  this.labelPlacement = 'start';
85
85
  this.multiple = false;
@@ -598,7 +598,7 @@ export class Select {
598
598
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
599
599
  const mode = getIonMode(this);
600
600
  const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';
601
- const justifyEnabled = !hasFloatingOrStackedLabel;
601
+ const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;
602
602
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
603
603
  const inItem = hostContext('ion-item', this.el);
604
604
  const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;
@@ -623,7 +623,7 @@ export class Select {
623
623
  * TODO(FW-5592): Remove hasStartEndSlots condition
624
624
  */
625
625
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
626
- return (h(Host, { key: 'e14586e887c0b73457b9f1e8f0585dfc7d590051', onClick: this.onClick, class: createColorClasses(this.color, {
626
+ return (h(Host, { key: '73c571c1f8468e1c3f4fe02fbbb33ba9cbc8e989', onClick: this.onClick, class: createColorClasses(this.color, {
627
627
  [mode]: true,
628
628
  'in-item': inItem,
629
629
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -639,7 +639,7 @@ export class Select {
639
639
  [`select-justify-${justify}`]: justifyEnabled,
640
640
  [`select-shape-${shape}`]: shape !== undefined,
641
641
  [`select-label-placement-${labelPlacement}`]: true,
642
- }) }, h("label", { key: 'b44929542c809f2dca25afc588701762a083edd1', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '195e3fad9cea0363ff00bf257ec2975fe5aa6887', class: "select-wrapper-inner" }, h("slot", { key: '9da7161a69b92d6fd124a478348d3fa420092f26', name: "start" }), h("div", { key: '49c589c164d167de0ba5741a0c80fba58ea0bec6', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'de1536d910fceb8e2dbdda13abcf88ee969888b8', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e821b7b32cd1996eaa6d471df9b531ad0d491098', class: "select-highlight" }))));
642
+ }) }, h("label", { key: '2b08538cba0b9f747541d57ac18fb6a1ea658878', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '33f54373bcb02c72a9d0af2efffebc27ee2c69fe', class: "select-wrapper-inner" }, h("slot", { key: 'd1c93aec99dc1cd6410f93309cef615fe04b541b', name: "start" }), h("div", { key: '493d1a3cad9565516f855bef75685b020785ffd3', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '353a3ee5635f8a8f3be411efd6caef6c2ad74a89', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'fd5f85555db02affe954f9f4f2876ac8fe676234', class: "select-highlight" }))));
643
643
  }
644
644
  static get is() { return "ion-select"; }
645
645
  static get encapsulation() { return "shadow"; }
@@ -803,18 +803,17 @@ export class Select {
803
803
  "mutable": false,
804
804
  "complexType": {
805
805
  "original": "'start' | 'end' | 'space-between'",
806
- "resolved": "\"end\" | \"space-between\" | \"start\"",
806
+ "resolved": "\"end\" | \"space-between\" | \"start\" | undefined",
807
807
  "references": {}
808
808
  },
809
809
  "required": false,
810
- "optional": false,
810
+ "optional": true,
811
811
  "docs": {
812
812
  "tags": [],
813
813
  "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."
814
814
  },
815
815
  "attribute": "justify",
816
- "reflect": false,
817
- "defaultValue": "'space-between'"
816
+ "reflect": false
818
817
  },
819
818
  "label": {
820
819
  "type": "string",
@@ -239,6 +239,7 @@ button {
239
239
  position: relative;
240
240
  flex-grow: 1;
241
241
  align-items: center;
242
+ justify-content: space-between;
242
243
  height: inherit;
243
244
  /**
244
245
  * This allows developers to set the height