@ionic/core 7.7.5 → 7.8.1-dev.11710449785.14ebd5a0

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 (326) hide show
  1. package/components/data.js +23 -38
  2. package/components/ion-datetime-button.js +11 -10
  3. package/components/ion-datetime.js +75 -12
  4. package/components/ion-fab-button.js +2 -2
  5. package/components/ion-fab-list.js +2 -2
  6. package/components/ion-fab.js +2 -2
  7. package/components/ion-footer.js +2 -2
  8. package/components/ion-grid.js +2 -2
  9. package/components/ion-header.js +2 -2
  10. package/components/ion-img.js +1 -1
  11. package/components/ion-infinite-scroll-content.js +2 -2
  12. package/components/ion-infinite-scroll.js +1 -1
  13. package/components/ion-item-divider.js +2 -2
  14. package/components/ion-item-group.js +1 -1
  15. package/components/ion-item-option.js +2 -2
  16. package/components/ion-item-options.js +1 -1
  17. package/components/ion-item-sliding.js +1 -1
  18. package/components/ion-loading.js +2 -2
  19. package/components/ion-menu-button.js +2 -2
  20. package/components/ion-menu-toggle.js +2 -2
  21. package/components/ion-menu.js +2 -2
  22. package/components/ion-modal.js +3 -3
  23. package/components/ion-nav-link.js +1 -1
  24. package/components/ion-nav.js +1 -1
  25. package/components/ion-picker.js +2 -2
  26. package/components/ion-progress-bar.js +1 -1
  27. package/components/ion-refresher-content.js +1 -1
  28. package/components/ion-refresher.js +1 -1
  29. package/components/ion-reorder-group.js +1 -1
  30. package/components/ion-reorder.js +1 -1
  31. package/components/ion-router-link.js +2 -2
  32. package/components/ion-router-outlet.js +1 -1
  33. package/components/ion-row.js +1 -1
  34. package/components/ion-searchbar.js +34 -5
  35. package/components/ion-segment-button.js +3 -3
  36. package/components/ion-segment.js +2 -2
  37. package/components/ion-select-option.js +1 -1
  38. package/components/ion-skeleton-text.js +2 -2
  39. package/components/ion-split-pane.js +2 -2
  40. package/components/ion-tab-bar.js +2 -2
  41. package/components/ion-tab-button.js +2 -2
  42. package/components/ion-tab.js +2 -2
  43. package/components/ion-tabs.js +1 -1
  44. package/components/ion-text.js +2 -2
  45. package/components/ion-thumbnail.js +1 -1
  46. package/components/ion-title.js +2 -2
  47. package/components/ion-toast.js +2 -2
  48. package/components/ion-toolbar.js +2 -2
  49. package/components/label.js +1 -1
  50. package/components/list-header.js +2 -2
  51. package/components/list.js +1 -1
  52. package/components/note.js +2 -2
  53. package/components/picker-column-internal.js +8 -4
  54. package/components/picker-column.js +2 -2
  55. package/components/picker-internal.js +2 -2
  56. package/components/popover.js +2 -2
  57. package/components/radio-group.js +1 -1
  58. package/components/ripple-effect.js +1 -1
  59. package/components/select-popover.js +1 -1
  60. package/components/spinner.js +1 -1
  61. package/dist/cjs/{data-a5109f09.js → data-4487a815.js} +22 -39
  62. package/dist/cjs/ion-app_8.cjs.entry.js +9 -9
  63. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  64. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -10
  66. package/dist/cjs/ion-datetime_3.cjs.entry.js +76 -16
  67. package/dist/cjs/ion-fab_3.cjs.entry.js +6 -6
  68. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  69. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  70. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  71. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  72. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  74. package/dist/cjs/ion-modal.cjs.entry.js +3 -3
  75. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +8 -4
  77. package/dist/cjs/ion-picker-internal.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  82. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  85. package/dist/cjs/ion-searchbar.cjs.entry.js +28 -4
  86. package/dist/cjs/ion-segment_2.cjs.entry.js +5 -5
  87. package/dist/cjs/ion-select_3.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  89. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  91. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  94. package/dist/cjs/ionic.cjs.js +1 -1
  95. package/dist/cjs/loader.cjs.js +1 -1
  96. package/dist/collection/components/alert/test/a11y/alert.e2e.js +4 -0
  97. package/dist/collection/components/datetime/datetime.js +56 -12
  98. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +77 -0
  99. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  100. package/dist/collection/components/datetime/utils/format.js +24 -37
  101. package/dist/collection/components/datetime/utils/validate.js +45 -0
  102. package/dist/collection/components/datetime-button/datetime-button.js +11 -10
  103. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  104. package/dist/collection/components/fab/fab.js +2 -2
  105. package/dist/collection/components/fab-button/fab-button.js +2 -2
  106. package/dist/collection/components/fab-list/fab-list.js +2 -2
  107. package/dist/collection/components/footer/footer.js +2 -2
  108. package/dist/collection/components/grid/grid.js +2 -2
  109. package/dist/collection/components/header/header.js +2 -2
  110. package/dist/collection/components/img/img.js +1 -1
  111. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  112. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  113. package/dist/collection/components/item-divider/item-divider.js +2 -2
  114. package/dist/collection/components/item-group/item-group.js +1 -1
  115. package/dist/collection/components/item-option/item-option.js +2 -2
  116. package/dist/collection/components/item-options/item-options.js +1 -1
  117. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  118. package/dist/collection/components/label/label.js +1 -1
  119. package/dist/collection/components/list/list.js +1 -1
  120. package/dist/collection/components/list-header/list-header.js +2 -2
  121. package/dist/collection/components/loading/loading.js +2 -2
  122. package/dist/collection/components/menu/menu.js +2 -2
  123. package/dist/collection/components/menu-button/menu-button.js +2 -2
  124. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  125. package/dist/collection/components/modal/modal.js +3 -3
  126. package/dist/collection/components/nav/nav.js +1 -1
  127. package/dist/collection/components/nav-link/nav-link.js +1 -1
  128. package/dist/collection/components/note/note.js +2 -2
  129. package/dist/collection/components/picker/picker.js +2 -2
  130. package/dist/collection/components/picker-column/picker-column.js +2 -2
  131. package/dist/collection/components/picker-column-internal/picker-column-internal.js +8 -4
  132. package/dist/collection/components/picker-internal/picker-internal.js +2 -2
  133. package/dist/collection/components/popover/popover.js +2 -2
  134. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  135. package/dist/collection/components/radio-group/radio-group.js +1 -1
  136. package/dist/collection/components/refresher/refresher.js +1 -1
  137. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  138. package/dist/collection/components/reorder/reorder.js +1 -1
  139. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  140. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  141. package/dist/collection/components/router-link/router-link.js +2 -2
  142. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  143. package/dist/collection/components/row/row.js +1 -1
  144. package/dist/collection/components/searchbar/searchbar.js +84 -5
  145. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  146. package/dist/collection/components/segment/segment.js +2 -2
  147. package/dist/collection/components/segment-button/segment-button.js +3 -3
  148. package/dist/collection/components/select-option/select-option.js +1 -1
  149. package/dist/collection/components/select-popover/select-popover.js +1 -1
  150. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  151. package/dist/collection/components/spinner/spinner.js +1 -1
  152. package/dist/collection/components/split-pane/split-pane.js +2 -2
  153. package/dist/collection/components/tab/tab.js +2 -2
  154. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  155. package/dist/collection/components/tab-button/tab-button.js +2 -2
  156. package/dist/collection/components/tabs/tabs.js +1 -1
  157. package/dist/collection/components/text/text.js +2 -2
  158. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  159. package/dist/collection/components/title/title.js +2 -2
  160. package/dist/collection/components/toast/toast.js +2 -2
  161. package/dist/collection/components/toggle/toggle.js +1 -1
  162. package/dist/collection/components/toolbar/toolbar.js +2 -2
  163. package/dist/docs.json +114 -2
  164. package/dist/esm/{data-0f3ab200.js → data-bb424ba8.js} +23 -38
  165. package/dist/esm/ion-app_8.entry.js +9 -9
  166. package/dist/esm/ion-avatar_3.entry.js +1 -1
  167. package/dist/esm/ion-col_3.entry.js +3 -3
  168. package/dist/esm/ion-datetime-button.entry.js +11 -10
  169. package/dist/esm/ion-datetime_3.entry.js +76 -16
  170. package/dist/esm/ion-fab_3.entry.js +6 -6
  171. package/dist/esm/ion-img.entry.js +1 -1
  172. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  173. package/dist/esm/ion-item-option_3.entry.js +4 -4
  174. package/dist/esm/ion-item_8.entry.js +11 -11
  175. package/dist/esm/ion-loading.entry.js +2 -2
  176. package/dist/esm/ion-menu_3.entry.js +6 -6
  177. package/dist/esm/ion-modal.entry.js +3 -3
  178. package/dist/esm/ion-nav_2.entry.js +2 -2
  179. package/dist/esm/ion-picker-column-internal.entry.js +8 -4
  180. package/dist/esm/ion-picker-internal.entry.js +2 -2
  181. package/dist/esm/ion-popover.entry.js +2 -2
  182. package/dist/esm/ion-progress-bar.entry.js +1 -1
  183. package/dist/esm/ion-radio_2.entry.js +1 -1
  184. package/dist/esm/ion-refresher_2.entry.js +2 -2
  185. package/dist/esm/ion-reorder_2.entry.js +2 -2
  186. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  187. package/dist/esm/ion-route_4.entry.js +2 -2
  188. package/dist/esm/ion-searchbar.entry.js +29 -5
  189. package/dist/esm/ion-segment_2.entry.js +5 -5
  190. package/dist/esm/ion-select_3.entry.js +2 -2
  191. package/dist/esm/ion-spinner.entry.js +1 -1
  192. package/dist/esm/ion-split-pane.entry.js +2 -2
  193. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  194. package/dist/esm/ion-tab_2.entry.js +3 -3
  195. package/dist/esm/ion-text.entry.js +2 -2
  196. package/dist/esm/ion-toast.entry.js +2 -2
  197. package/dist/esm/ionic.js +1 -1
  198. package/dist/esm/loader.js +1 -1
  199. package/dist/esm-es5/data-bb424ba8.js +4 -0
  200. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  201. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  202. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  203. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  204. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  205. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-img.entry.js +1 -1
  207. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  208. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  209. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  210. package/dist/esm-es5/ion-loading.entry.js +1 -1
  211. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  212. package/dist/esm-es5/ion-modal.entry.js +1 -1
  213. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  214. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  215. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  216. package/dist/esm-es5/ion-popover.entry.js +1 -1
  217. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  218. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  219. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  220. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  221. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  222. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  223. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  224. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  225. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  226. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  227. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  228. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  229. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  230. package/dist/esm-es5/ion-text.entry.js +1 -1
  231. package/dist/esm-es5/ion-toast.entry.js +1 -1
  232. package/dist/esm-es5/ionic.js +1 -1
  233. package/dist/esm-es5/loader.js +1 -1
  234. package/dist/html.html-data.json +13 -1
  235. package/dist/ionic/ionic.esm.js +1 -1
  236. package/dist/ionic/{p-08a5d8eb.entry.js → p-0188824c.entry.js} +1 -1
  237. package/dist/ionic/{p-ba385465.system.entry.js → p-079817f9.system.entry.js} +1 -1
  238. package/dist/ionic/{p-b13b7128.system.entry.js → p-0971ee6d.system.entry.js} +1 -1
  239. package/dist/ionic/{p-db6a5af3.system.entry.js → p-0dbbf52a.system.entry.js} +1 -1
  240. package/dist/ionic/{p-f5bc27d6.system.entry.js → p-0eb111e7.system.entry.js} +1 -1
  241. package/dist/ionic/{p-996922b4.system.entry.js → p-0ef05e5d.system.entry.js} +1 -1
  242. package/dist/ionic/{p-86438241.system.entry.js → p-0fa9c8f7.system.entry.js} +1 -1
  243. package/dist/ionic/{p-8f466a2c.system.entry.js → p-11d480a7.system.entry.js} +1 -1
  244. package/dist/ionic/{p-f9f7b24a.system.entry.js → p-1561982b.system.entry.js} +1 -1
  245. package/dist/ionic/{p-45ea497f.entry.js → p-15ced5aa.entry.js} +1 -1
  246. package/dist/ionic/p-2055bdba.entry.js +4 -0
  247. package/dist/ionic/{p-cf88a096.system.entry.js → p-25f56cd7.system.entry.js} +1 -1
  248. package/dist/ionic/{p-6a0a3e18.system.entry.js → p-2791b018.system.entry.js} +1 -1
  249. package/dist/ionic/{p-e59803ca.entry.js → p-2b78245e.entry.js} +1 -1
  250. package/dist/ionic/{p-72c8ca65.system.entry.js → p-2bc25d50.system.entry.js} +2 -2
  251. package/dist/ionic/{p-479402e1.entry.js → p-2c94053b.entry.js} +1 -1
  252. package/dist/ionic/{p-9074a84e.system.entry.js → p-2d88f64e.system.entry.js} +1 -1
  253. package/dist/ionic/p-2fec06f2.entry.js +4 -0
  254. package/dist/ionic/p-327f8d66.entry.js +4 -0
  255. package/dist/ionic/p-3789920e.js +4 -0
  256. package/dist/ionic/{p-c7d8cec2.entry.js → p-3b85bb44.entry.js} +1 -1
  257. package/dist/ionic/{p-059fcb53.system.entry.js → p-43438ce1.system.entry.js} +2 -2
  258. package/dist/ionic/p-45362829.system.entry.js +4 -0
  259. package/dist/ionic/p-46ca8bb1.entry.js +4 -0
  260. package/dist/ionic/{p-08410e29.system.entry.js → p-4e74f845.system.entry.js} +1 -1
  261. package/dist/ionic/{p-7b809cc0.system.entry.js → p-4f73a163.system.entry.js} +1 -1
  262. package/dist/ionic/{p-345e2dac.system.entry.js → p-51dd4f12.system.entry.js} +1 -1
  263. package/dist/ionic/{p-5d8fca58.entry.js → p-51ebe7c6.entry.js} +1 -1
  264. package/dist/ionic/{p-cfe767f1.entry.js → p-526258be.entry.js} +1 -1
  265. package/dist/ionic/{p-fef4907e.system.entry.js → p-58b335fd.system.entry.js} +1 -1
  266. package/dist/ionic/{p-3377236e.entry.js → p-5e3e64b5.entry.js} +1 -1
  267. package/dist/ionic/{p-b9b8e462.system.entry.js → p-5f3fc112.system.entry.js} +1 -1
  268. package/dist/ionic/p-60c9fd9e.system.js +1 -1
  269. package/dist/ionic/{p-3ca0c7f2.entry.js → p-62f36e54.entry.js} +1 -1
  270. package/dist/ionic/{p-e8d46a2e.entry.js → p-65409f36.entry.js} +1 -1
  271. package/dist/ionic/p-6a110cb2.entry.js +4 -0
  272. package/dist/ionic/p-6ec0c1ee.system.entry.js +4 -0
  273. package/dist/ionic/{p-4830fae8.system.entry.js → p-7126abb8.system.entry.js} +1 -1
  274. package/dist/ionic/{p-b0ccd173.system.entry.js → p-7186eb03.system.entry.js} +1 -1
  275. package/dist/ionic/{p-6b5630b9.system.entry.js → p-7c91266e.system.entry.js} +1 -1
  276. package/dist/ionic/{p-f5dce0c6.entry.js → p-80808af6.entry.js} +1 -1
  277. package/dist/ionic/p-8a1b0abb.system.js +4 -0
  278. package/dist/ionic/{p-33dd4d0b.system.entry.js → p-8a21c7b4.system.entry.js} +1 -1
  279. package/dist/ionic/{p-09fc100a.entry.js → p-8be61e52.entry.js} +1 -1
  280. package/dist/ionic/{p-e4bf5d87.system.entry.js → p-8e127a08.system.entry.js} +1 -1
  281. package/dist/ionic/{p-0e7c8334.system.entry.js → p-966a5ae4.system.entry.js} +1 -1
  282. package/dist/ionic/{p-ae3aeb39.entry.js → p-98bac954.entry.js} +1 -1
  283. package/dist/ionic/{p-231a3636.system.entry.js → p-a53d569a.system.entry.js} +1 -1
  284. package/dist/ionic/{p-3270e211.entry.js → p-a7959307.entry.js} +1 -1
  285. package/dist/ionic/{p-7f865669.entry.js → p-ab7c79d9.entry.js} +1 -1
  286. package/dist/ionic/p-b7aec03b.entry.js +4 -0
  287. package/dist/ionic/p-bbb655e2.system.entry.js +4 -0
  288. package/dist/ionic/{p-ca935c03.entry.js → p-bc68a14a.entry.js} +1 -1
  289. package/dist/ionic/{p-36a80e5c.entry.js → p-c0d7aace.entry.js} +1 -1
  290. package/dist/ionic/{p-04721936.system.entry.js → p-c1a58ab3.system.entry.js} +1 -1
  291. package/dist/ionic/{p-84283745.entry.js → p-c63a69cd.entry.js} +1 -1
  292. package/dist/ionic/{p-8ce6d551.entry.js → p-c99bfffe.entry.js} +1 -1
  293. package/dist/ionic/{p-c6f9f608.entry.js → p-d637b857.entry.js} +1 -1
  294. package/dist/ionic/{p-09b047e0.entry.js → p-dd5a925f.entry.js} +1 -1
  295. package/dist/ionic/{p-c711b464.entry.js → p-deb09b58.entry.js} +1 -1
  296. package/dist/ionic/{p-95c2fa04.entry.js → p-e2236935.entry.js} +1 -1
  297. package/dist/ionic/{p-abcc9680.entry.js → p-e631799d.entry.js} +1 -1
  298. package/dist/ionic/{p-e155f315.system.entry.js → p-e6c115f6.system.entry.js} +1 -1
  299. package/dist/ionic/{p-8c74bd0e.system.entry.js → p-e7bdaac8.system.entry.js} +2 -2
  300. package/dist/ionic/p-f520f6a5.entry.js +4 -0
  301. package/dist/ionic/p-f89380a5.system.entry.js +4 -0
  302. package/dist/ionic/p-f98bd898.entry.js +4 -0
  303. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  304. package/dist/types/components/datetime/datetime.d.ts +10 -1
  305. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  306. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  307. package/dist/types/components/searchbar/searchbar.d.ts +38 -0
  308. package/dist/types/components/toggle/toggle.d.ts +1 -1
  309. package/dist/types/components.d.ts +36 -4
  310. package/hydrate/index.js +230 -154
  311. package/package.json +1 -1
  312. package/dist/esm-es5/data-0f3ab200.js +0 -4
  313. package/dist/ionic/p-1522bf28.entry.js +0 -4
  314. package/dist/ionic/p-6f5b32c7.system.entry.js +0 -4
  315. package/dist/ionic/p-7330c044.system.js +0 -4
  316. package/dist/ionic/p-76afa95f.entry.js +0 -4
  317. package/dist/ionic/p-81f18ed1.system.entry.js +0 -4
  318. package/dist/ionic/p-addb7662.entry.js +0 -4
  319. package/dist/ionic/p-b80ef521.entry.js +0 -4
  320. package/dist/ionic/p-c05202a7.entry.js +0 -4
  321. package/dist/ionic/p-c67c9644.entry.js +0 -4
  322. package/dist/ionic/p-d070ab1e.system.entry.js +0 -4
  323. package/dist/ionic/p-de0392f4.entry.js +0 -4
  324. package/dist/ionic/p-e447e552.entry.js +0 -4
  325. package/dist/ionic/p-ef269a56.system.entry.js +0 -4
  326. package/dist/ionic/p-f7dce541.js +0 -4
@@ -48,10 +48,10 @@ export class Tab {
48
48
  }
49
49
  render() {
50
50
  const { tab, active, component } = this;
51
- return (h(Host, { key: '0f4b90f0b1027e89bd447ace17af31c8e155a827', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
51
+ return (h(Host, { key: 'fa5c567bf59eb8bd46a7d2b85a560e43c43563fe', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
52
52
  'ion-page': component === undefined,
53
53
  'tab-hidden': !active,
54
- } }, h("slot", { key: 'ec3eaacf8b7085510e89273aa8373805ee98a381' })));
54
+ } }, h("slot", { key: '133871ad0bafa16539dfec4a6bd640367c998039' })));
55
55
  }
56
56
  static get is() { return "ion-tab"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -51,11 +51,11 @@ export class TabBar {
51
51
  const { color, translucent, keyboardVisible } = this;
52
52
  const mode = getIonMode(this);
53
53
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
54
- return (h(Host, { key: 'e2b4b50270f171ed251359df6c65c5e7e4d526a4', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
54
+ return (h(Host, { key: '51e4bdbce8c7107c1114a39618b4a9a941876bb1', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
55
55
  [mode]: true,
56
56
  'tab-bar-translucent': translucent,
57
57
  'tab-bar-hidden': shouldHide,
58
- }) }, h("slot", { key: '37495b2eddd01a758ceaeb36426abc9bd20bcca3' })));
58
+ }) }, h("slot", { key: 'c11618f97e93deb0a56f33c904481b4811c685ec' })));
59
59
  }
60
60
  static get is() { return "ion-tab-bar"; }
61
61
  static get encapsulation() { return "shadow"; }
@@ -70,7 +70,7 @@ export class TabButton {
70
70
  rel,
71
71
  target,
72
72
  };
73
- return (h(Host, { key: '9926f9392e7910ff3159397e4f907e0d7d2cf5a0', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
73
+ return (h(Host, { key: '32ec1fb183523dadaaed6689add4a042d0fdd69a', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
74
74
  [mode]: true,
75
75
  'tab-selected': selected,
76
76
  'tab-disabled': disabled,
@@ -82,7 +82,7 @@ export class TabButton {
82
82
  'ion-activatable': true,
83
83
  'ion-selectable': true,
84
84
  'ion-focusable': true,
85
- } }, h("a", Object.assign({ key: '4b3ace749583a5502e94462f9a70c5158fe0194a' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: 'a2a30c02fbd5052da12586a5ab00a45f3bf53b88', class: "button-inner" }, h("slot", { key: '3fb22ffbb09000d99537b531220c029330ae6940' })), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
85
+ } }, h("a", Object.assign({ key: '9e56304c52e30ae3a3dca434fa0b41eccc873faa' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '34eae18c23584742a25d20b4038aa1742d9ab0d8', class: "button-inner" }, h("slot", { key: '4bc9629861f5ce3f1ef87ac77bc027ba0dea694c' })), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
86
86
  }
87
87
  static get is() { return "ion-tab-button"; }
88
88
  static get encapsulation() { return "shadow"; }
@@ -135,7 +135,7 @@ export class Tabs {
135
135
  return Array.from(this.el.querySelectorAll('ion-tab'));
136
136
  }
137
137
  render() {
138
- return (h(Host, { key: '9044f05f4716fd9c158864175290dfb044e63539', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '178492f52f15a042e47531007a3564a935847818', name: "top" }), h("div", { key: 'b3affaaeb7752194acde36d9de74dbe2b3280cd1', class: "tabs-inner" }, h("slot", { key: '98f0f4e2903f1a6cec041e06b75073c57960a912' })), h("slot", { key: '0899482561bdaf35e97e5a40860c40978daca03a', name: "bottom" })));
138
+ return (h(Host, { key: '5c76b077d508b1379a985503618dade63a9db514', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '357ba85e01de10d3c0e52adcb1977bbc0dbbf587', name: "top" }), h("div", { key: 'c8c59aac4e1394a1a7505f201cbf609b9b0c6ea9', class: "tabs-inner" }, h("slot", { key: '00951068088580ab408f9c24ede39144b212b0d6' })), h("slot", { key: 'a1118402fbd5995b07f7676f216b2efbc6052f12', name: "bottom" })));
139
139
  }
140
140
  static get is() { return "ion-tabs"; }
141
141
  static get encapsulation() { return "shadow"; }
@@ -13,9 +13,9 @@ export class Text {
13
13
  }
14
14
  render() {
15
15
  const mode = getIonMode(this);
16
- return (h(Host, { key: '8922ebdd7486c9cb9f9b547a49e5be2261df4ba1', class: createColorClasses(this.color, {
16
+ return (h(Host, { key: '66ed5ea3af47d2a4bdaee79914a2f5ae2cb54a9d', class: createColorClasses(this.color, {
17
17
  [mode]: true,
18
- }) }, h("slot", { key: '164cbd0f81a00adfac04f544524e905f721c121c' })));
18
+ }) }, h("slot", { key: '61239138ae5e25c2cceb839f70c50069fc42338e' })));
19
19
  }
20
20
  static get is() { return "ion-text"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Thumbnail {
7
7
  render() {
8
- return (h(Host, { key: '2b3d5139161f4b9075dce537c14b4087986b37c4', class: getIonMode(this) }, h("slot", { key: '3c4838c43e1230f9413a3cb66584417fd11382b2' })));
8
+ return (h(Host, { key: 'a12bfff6f372b19f6890a81f93ca6137701ee360', class: getIonMode(this) }, h("slot", { key: 'f546320896fee05677cc30f13aa7fa7c0360d69d' })));
9
9
  }
10
10
  static get is() { return "ion-thumbnail"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -27,11 +27,11 @@ export class ToolbarTitle {
27
27
  render() {
28
28
  const mode = getIonMode(this);
29
29
  const size = this.getSize();
30
- return (h(Host, { key: 'b68a272a33ec81d282629a569676f64d3215a0c7', class: createColorClasses(this.color, {
30
+ return (h(Host, { key: '2642d433ba678b67503b7f1e9d0ae0390250bec8', class: createColorClasses(this.color, {
31
31
  [mode]: true,
32
32
  [`title-${size}`]: true,
33
33
  'title-rtl': document.dir === 'rtl',
34
- }) }, h("div", { key: '9069816a14e6e358695c5bd465787cf297c761bc', class: "toolbar-title" }, h("slot", { key: '8894bd04f2292b54050ee864abb5396deadf9874' }))));
34
+ }) }, h("div", { key: '355184542e26b53296f7143d099cfebc3de7b569', class: "toolbar-title" }, h("slot", { key: 'aed07a34c22e4b1f34cdf40fea35481674d8941f' }))));
35
35
  }
36
36
  static get is() { return "ion-title"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -388,9 +388,9 @@ export class Toast {
388
388
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
389
389
  printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
390
390
  }
391
- return (h(Host, Object.assign({ key: 'c8d7e7d2baa01d3ed5d65a845bc61acf087c0b18', tabindex: "-1" }, this.htmlAttributes, { style: {
391
+ return (h(Host, Object.assign({ key: 'f01e1dd2f7cc0680a24f6aa4ee3f677f86d255f4', tabindex: "-1" }, this.htmlAttributes, { style: {
392
392
  zIndex: `${60000 + this.overlayIndex}`,
393
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '27c0feeb89c4efb47c42623a4b036ed84338ed10', class: wrapperClass }, h("div", { key: '41d5a3069f92e4a6acef2793fa4e236cdbdaae88', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '176f497bc990ef2ecc14c7fa90dd3a54a912030a', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
393
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '603468c5e6abfb284df3fcdfa33c4f45d899fb2a', class: wrapperClass }, h("div", { key: '0eebff71a0caf3bece4d042199cbf9226251a1a0', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'a84a9b0c0b719f588aa1ace4ef822bb105578c29', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
394
394
  }
395
395
  static get is() { return "ion-toast"; }
396
396
  static get encapsulation() { return "shadow"; }
@@ -421,7 +421,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
421
421
  "optional": false,
422
422
  "docs": {
423
423
  "tags": [],
424
- "text": "How to control the alignment of the toggle 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."
424
+ "text": "How to control the alignment of the toggle 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."
425
425
  },
426
426
  "attribute": "alignment",
427
427
  "reflect": false,
@@ -62,10 +62,10 @@ export class Toolbar {
62
62
  this.childrenStyles.forEach((value) => {
63
63
  Object.assign(childStyles, value);
64
64
  });
65
- return (h(Host, { key: 'afac0f08f3981483c072984ce047df5dc9cc1e99', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
65
+ return (h(Host, { key: 'fdd8621b4f69ce650b5aaf4fb6bffde29aa5ad65', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
66
66
  [mode]: true,
67
67
  'in-toolbar': hostContext('ion-toolbar', this.el),
68
- })) }, h("div", { key: '30d4f1d0ec01cc646398301b5f7d469391eb35d2', class: "toolbar-background" }), h("div", { key: '175d1f283e670b57a9bf8fd2a8c5e7d0da749aa8', class: "toolbar-container" }, h("slot", { key: '4853b18092737b32b5995457536fa5a7fc2816ef', name: "start" }), h("slot", { key: '6eb4921200aad02d7977d134edad6cff2aad91ad', name: "secondary" }), h("div", { key: '024e0339c74c4b9a886d49e96723243719643dc2', class: "toolbar-content" }, h("slot", { key: 'b6452c84692fedd6efe33ac67907d01253b76f8f' })), h("slot", { key: '636e56eeaa318ce45a9c3854a30b8eb2819a33e0', name: "primary" }), h("slot", { key: 'a45c19b93dca3719d75bd4d99acc49de87137a7d', name: "end" }))));
68
+ })) }, h("div", { key: 'c6ad5434546e2046a83574ea92a03a3f77d0a9e3', class: "toolbar-background" }), h("div", { key: '3b79dd20c3e8252cacfd46a82428df9ba0b8b86e', class: "toolbar-container" }, h("slot", { key: '514259a8b76db9f3a587a7667b5e37fd8ade9481', name: "start" }), h("slot", { key: 'd9ab68f0626f4ac8b83d21663eb67a47b76d809b', name: "secondary" }), h("div", { key: '2c21da88b67a7d7eef280e517bda9982264c7be4', class: "toolbar-content" }, h("slot", { key: 'ac2b7c8f20c5ac755df9032809c73eab9e767e36' })), h("slot", { key: '2ddd3b7e3803f2d56c32743dcfc114ddcb8684a2', name: "primary" }), h("slot", { key: '27483847d4333b4492506da33185c9ba1aa824a7', name: "end" }))));
69
69
  }
70
70
  static get is() { return "ion-toolbar"; }
71
71
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2024-03-13T13:10:59",
2
+ "timestamp": "2024-03-14T20:58:10",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.12.5",
@@ -7086,6 +7086,44 @@
7086
7086
  "optional": false,
7087
7087
  "required": false
7088
7088
  },
7089
+ {
7090
+ "name": "formatOptions",
7091
+ "type": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
7092
+ "complexType": {
7093
+ "original": "FormatOptions",
7094
+ "resolved": "undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; }",
7095
+ "references": {
7096
+ "FormatOptions": {
7097
+ "location": "import",
7098
+ "path": "./datetime-interface",
7099
+ "id": "src/components/datetime/datetime-interface.ts::FormatOptions"
7100
+ }
7101
+ }
7102
+ },
7103
+ "mutable": false,
7104
+ "reflectToAttr": false,
7105
+ "docs": "Formatting options for dates and times.\nShould include a 'date' and/or 'time' object, each of which is of type [Intl.DateTimeFormatOptions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#options).",
7106
+ "docsTags": [],
7107
+ "values": [
7108
+ {
7109
+ "type": "undefined"
7110
+ },
7111
+ {
7112
+ "type": "{ date: DateTimeFormatOptions; time?: DateTimeFormatOptions"
7113
+ },
7114
+ {
7115
+ "type": "undefined; }"
7116
+ },
7117
+ {
7118
+ "type": "{ date?: DateTimeFormatOptions"
7119
+ },
7120
+ {
7121
+ "type": "undefined; time: DateTimeFormatOptions; }"
7122
+ }
7123
+ ],
7124
+ "optional": true,
7125
+ "required": false
7126
+ },
7089
7127
  {
7090
7128
  "name": "highlightedDates",
7091
7129
  "type": "((dateIsoString: string) => DatetimeHighlightStyle | undefined) | DatetimeHighlight[] | undefined",
@@ -22393,6 +22431,27 @@
22393
22431
  "optional": false,
22394
22432
  "required": false
22395
22433
  },
22434
+ {
22435
+ "name": "autocapitalize",
22436
+ "type": "string",
22437
+ "complexType": {
22438
+ "original": "string",
22439
+ "resolved": "string",
22440
+ "references": {}
22441
+ },
22442
+ "mutable": false,
22443
+ "attr": "autocapitalize",
22444
+ "reflectToAttr": false,
22445
+ "docs": "Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\nAvailable options: `\"off\"`, `\"none\"`, `\"on\"`, `\"sentences\"`, `\"words\"`, `\"characters\"`.",
22446
+ "docsTags": [],
22447
+ "values": [
22448
+ {
22449
+ "type": "string"
22450
+ }
22451
+ ],
22452
+ "optional": false,
22453
+ "required": true
22454
+ },
22396
22455
  {
22397
22456
  "name": "autocomplete",
22398
22457
  "type": "\"name\" | \"email\" | \"tel\" | \"url\" | \"on\" | \"off\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-extension\" | \"impp\" | \"photo\"",
@@ -22943,6 +23002,54 @@
22943
23002
  "optional": true,
22944
23003
  "required": false
22945
23004
  },
23005
+ {
23006
+ "name": "maxlength",
23007
+ "type": "number | undefined",
23008
+ "complexType": {
23009
+ "original": "number",
23010
+ "resolved": "number | undefined",
23011
+ "references": {}
23012
+ },
23013
+ "mutable": false,
23014
+ "attr": "maxlength",
23015
+ "reflectToAttr": false,
23016
+ "docs": "This attribute specifies the maximum number of characters that the user can enter.",
23017
+ "docsTags": [],
23018
+ "values": [
23019
+ {
23020
+ "type": "number"
23021
+ },
23022
+ {
23023
+ "type": "undefined"
23024
+ }
23025
+ ],
23026
+ "optional": true,
23027
+ "required": false
23028
+ },
23029
+ {
23030
+ "name": "minlength",
23031
+ "type": "number | undefined",
23032
+ "complexType": {
23033
+ "original": "number",
23034
+ "resolved": "number | undefined",
23035
+ "references": {}
23036
+ },
23037
+ "mutable": false,
23038
+ "attr": "minlength",
23039
+ "reflectToAttr": false,
23040
+ "docs": "This attribute specifies the minimum number of characters that the user can enter.",
23041
+ "docsTags": [],
23042
+ "values": [
23043
+ {
23044
+ "type": "number"
23045
+ },
23046
+ {
23047
+ "type": "undefined"
23048
+ }
23049
+ ],
23050
+ "optional": true,
23051
+ "required": false
23052
+ },
22946
23053
  {
22947
23054
  "name": "mode",
22948
23055
  "type": "\"ios\" | \"md\"",
@@ -28616,7 +28723,7 @@
28616
28723
  "mutable": false,
28617
28724
  "attr": "alignment",
28618
28725
  "reflectToAttr": false,
28619
- "docs": "How to control the alignment of the toggle 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.",
28726
+ "docs": "How to control the alignment of the toggle 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.",
28620
28727
  "docsTags": [],
28621
28728
  "default": "'center'",
28622
28729
  "values": [
@@ -29369,6 +29476,11 @@
29369
29476
  "docstring": "",
29370
29477
  "path": "src/components/content/content-interface.ts"
29371
29478
  },
29479
+ "src/components/datetime/datetime-interface.ts::FormatOptions": {
29480
+ "declaration": "export type FormatOptions =\n | {\n date: Intl.DateTimeFormatOptions;\n time?: Intl.DateTimeFormatOptions;\n }\n | {\n date?: Intl.DateTimeFormatOptions;\n time: Intl.DateTimeFormatOptions;\n };",
29481
+ "docstring": "",
29482
+ "path": "src/components/datetime/datetime-interface.ts"
29483
+ },
29372
29484
  "src/components/datetime/datetime-interface.ts::DatetimePresentation": {
29373
29485
  "declaration": "export type DatetimePresentation = 'date-time' | 'time-date' | 'date' | 'time' | 'month' | 'year' | 'month-year';",
29374
29486
  "docstring": "",
@@ -832,7 +832,25 @@ const getFormattedDayPeriod = (dayPeriod) => {
832
832
  }
833
833
  return dayPeriod.toUpperCase();
834
834
  };
835
- const getLocalizedTime = (locale, refParts, hourCycle) => {
835
+ /**
836
+ * Including time zone options may lead to the rendered text showing a
837
+ * different time from what was selected in the Datetime, which could cause
838
+ * confusion.
839
+ */
840
+ const stripTimeZone = (formatOptions) => {
841
+ return Object.assign(Object.assign({}, formatOptions), {
842
+ /**
843
+ * Setting the time zone to UTC ensures that the value shown is always the
844
+ * same as what was selected and safeguards against older Safari bugs with
845
+ * Intl.DateTimeFormat.
846
+ */
847
+ timeZone: 'UTC',
848
+ /**
849
+ * We do not want to display the time zone name
850
+ */
851
+ timeZoneName: undefined });
852
+ };
853
+ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
836
854
  const timeParts = {
837
855
  hour: refParts.hour,
838
856
  minute: refParts.minute,
@@ -840,28 +858,12 @@ const getLocalizedTime = (locale, refParts, hourCycle) => {
840
858
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
841
859
  return 'Invalid Time';
842
860
  }
843
- return new Intl.DateTimeFormat(locale, {
844
- hour: 'numeric',
845
- minute: 'numeric',
846
- /**
847
- * Setting the timeZone to UTC prevents
848
- * new Intl.DatetimeFormat from subtracting
849
- * the user's current timezone offset
850
- * when formatting the time.
851
- */
852
- timeZone: 'UTC',
861
+ return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
853
862
  /**
854
863
  * We use hourCycle here instead of hour12 due to:
855
864
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
856
865
  */
857
- hourCycle,
858
- /**
859
- * Setting Z at the end indicates that this
860
- * date string is in the UTC time zone. This
861
- * prevents new Date from adding the time zone
862
- * offset when getting the ISO string.
863
- */
864
- }).format(new Date(convertDataToISO(Object.assign({
866
+ hourCycle })).format(new Date(convertDataToISO(Object.assign({
865
867
  /**
866
868
  * JS uses a simplified ISO 8601 format which allows for
867
869
  * date-only formats and date-time formats, but not
@@ -947,14 +949,6 @@ const generateDayAriaLabel = (locale, today, refParts) => {
947
949
  */
948
950
  return today ? `Today, ${labelString}` : labelString;
949
951
  };
950
- /**
951
- * Gets the day of the week, month, and day
952
- * Used for the header in MD mode.
953
- */
954
- const getMonthAndDay = (locale, refParts) => {
955
- const date = getNormalizedDate(refParts);
956
- return new Intl.DateTimeFormat(locale, { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }).format(date);
957
- };
958
952
  /**
959
953
  * Given a locale and a date object,
960
954
  * return a formatted string that includes
@@ -965,15 +959,6 @@ const getMonthAndYear = (locale, refParts) => {
965
959
  const date = getNormalizedDate(refParts);
966
960
  return new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(date);
967
961
  };
968
- /**
969
- * Given a locale and a date object,
970
- * return a formatted string that includes
971
- * the short month, numeric day, and full year.
972
- * Example: Apr 22, 2021
973
- */
974
- const getMonthDayAndYear = (locale, refParts) => {
975
- return getLocalizedDateTime(locale, refParts, { month: 'short', day: 'numeric', year: 'numeric' });
976
- };
977
962
  /**
978
963
  * Given a locale and a date object,
979
964
  * return a formatted string that includes
@@ -1023,7 +1008,7 @@ const getNormalizedDate = (refParts) => {
1023
1008
  */
1024
1009
  const getLocalizedDateTime = (locale, refParts, options) => {
1025
1010
  const date = getNormalizedDate(refParts);
1026
- return getDateTimeFormat(locale, options).format(date);
1011
+ return getDateTimeFormat(locale, stripTimeZone(options)).format(date);
1027
1012
  };
1028
1013
  /**
1029
1014
  * Given a locale, DatetimeParts, and options
@@ -1622,4 +1607,4 @@ const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, all
1622
1607
  };
1623
1608
  };
1624
1609
 
1625
- export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getMonthAndDay as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getLocalizedDateTime as S, getMonthDayAndYear as T, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
1610
+ export { getNumDaysInMonth as A, getCombinedDateColumnData as B, getMonthColumnData as C, getDayColumnData as D, getYearColumnData as E, isMonthFirstLocale as F, getTimeColumnsData as G, isLocaleDayPeriodRTL as H, getDaysOfWeek as I, getMonthAndYear as J, getDaysOfMonth as K, getHourCycle as L, getLocalizedTime as M, getLocalizedDateTime as N, formatValue as O, clampDate as P, parseAmPm as Q, calculateHourFromAMPM as R, getDay as a, isAfter as b, isSameDay as c, getPreviousMonth as d, getNextMonth as e, getPartsFromCalendarDay as f, generateDayAriaLabel as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, convertToArrayOfNumbers as t, convertDataToISO as u, validateParts as v, warnIfValueOutOfBounds as w, getToday as x, getClosestValidDate as y, generateMonths as z };
@@ -653,7 +653,7 @@ const Footer = class {
653
653
  const mode = getIonMode(this);
654
654
  const tabs = this.el.closest('ion-tabs');
655
655
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
656
- return (h(Host, { key: '550b8b8fb614e541e1d369fc1ac5ba1f083913b4', role: "contentinfo", class: {
656
+ return (h(Host, { key: '6f2827ba2e64d1a889c0631bc2a6d5df97b338ce', role: "contentinfo", class: {
657
657
  [mode]: true,
658
658
  // Used internally for styling
659
659
  [`footer-${mode}`]: true,
@@ -661,7 +661,7 @@ const Footer = class {
661
661
  [`footer-translucent-${mode}`]: translucent,
662
662
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
663
663
  [`footer-collapse-${collapse}`]: collapse !== undefined,
664
- } }, mode === 'ios' && translucent && h("div", { class: "footer-background" }), h("slot", { key: 'd25187ecc2ce7848ba882af078cb634e9d5e8814' })));
664
+ } }, mode === 'ios' && translucent && h("div", { class: "footer-background" }), h("slot", { key: 'b07574feb587a1089b001e7d158fd8d05e32304b' })));
665
665
  }
666
666
  get el() { return getElement(this); }
667
667
  };
@@ -983,14 +983,14 @@ const Header = class {
983
983
  const collapse = this.collapse || 'none';
984
984
  // banner role must be at top level, so remove role if inside a menu
985
985
  const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
986
- return (h(Host, Object.assign({ key: 'a33e7e1818cb4718ae36b8bcfa811c4138b85fac', role: roleType, class: {
986
+ return (h(Host, Object.assign({ key: 'be4386a218c20dc4c18320dbbcfb25574d13d27e', role: roleType, class: {
987
987
  [mode]: true,
988
988
  // Used internally for styling
989
989
  [`header-${mode}`]: true,
990
990
  [`header-translucent`]: this.translucent,
991
991
  [`header-collapse-${collapse}`]: true,
992
992
  [`header-translucent-${mode}`]: this.translucent,
993
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", { key: '7e2fa75034f7422a3dc5691e9b3c25393e16c0ca' })));
993
+ } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", { key: '74c401fb331aeb40c733605fd580949ad53989b8' })));
994
994
  }
995
995
  get el() { return getElement(this); }
996
996
  };
@@ -1174,7 +1174,7 @@ const RouterOutlet = class {
1174
1174
  return true;
1175
1175
  }
1176
1176
  render() {
1177
- return h("slot", { key: '69b452a0dc0c10440bdd8700cf4843c43154c707' });
1177
+ return h("slot", { key: 'e4eaa40478f70742d0ff7602ed5f83879da9f1b4' });
1178
1178
  }
1179
1179
  get el() { return getElement(this); }
1180
1180
  static get watchers() { return {
@@ -1214,11 +1214,11 @@ const ToolbarTitle = class {
1214
1214
  render() {
1215
1215
  const mode = getIonMode(this);
1216
1216
  const size = this.getSize();
1217
- return (h(Host, { key: 'b68a272a33ec81d282629a569676f64d3215a0c7', class: createColorClasses(this.color, {
1217
+ return (h(Host, { key: '2642d433ba678b67503b7f1e9d0ae0390250bec8', class: createColorClasses(this.color, {
1218
1218
  [mode]: true,
1219
1219
  [`title-${size}`]: true,
1220
1220
  'title-rtl': document.dir === 'rtl',
1221
- }) }, h("div", { key: '9069816a14e6e358695c5bd465787cf297c761bc', class: "toolbar-title" }, h("slot", { key: '8894bd04f2292b54050ee864abb5396deadf9874' }))));
1221
+ }) }, h("div", { key: '355184542e26b53296f7143d099cfebc3de7b569', class: "toolbar-title" }, h("slot", { key: 'aed07a34c22e4b1f34cdf40fea35481674d8941f' }))));
1222
1222
  }
1223
1223
  get el() { return getElement(this); }
1224
1224
  static get watchers() { return {
@@ -1286,10 +1286,10 @@ const Toolbar = class {
1286
1286
  this.childrenStyles.forEach((value) => {
1287
1287
  Object.assign(childStyles, value);
1288
1288
  });
1289
- return (h(Host, { key: 'afac0f08f3981483c072984ce047df5dc9cc1e99', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1289
+ return (h(Host, { key: 'fdd8621b4f69ce650b5aaf4fb6bffde29aa5ad65', class: Object.assign(Object.assign({}, childStyles), createColorClasses(this.color, {
1290
1290
  [mode]: true,
1291
1291
  'in-toolbar': hostContext('ion-toolbar', this.el),
1292
- })) }, h("div", { key: '30d4f1d0ec01cc646398301b5f7d469391eb35d2', class: "toolbar-background" }), h("div", { key: '175d1f283e670b57a9bf8fd2a8c5e7d0da749aa8', class: "toolbar-container" }, h("slot", { key: '4853b18092737b32b5995457536fa5a7fc2816ef', name: "start" }), h("slot", { key: '6eb4921200aad02d7977d134edad6cff2aad91ad', name: "secondary" }), h("div", { key: '024e0339c74c4b9a886d49e96723243719643dc2', class: "toolbar-content" }, h("slot", { key: 'b6452c84692fedd6efe33ac67907d01253b76f8f' })), h("slot", { key: '636e56eeaa318ce45a9c3854a30b8eb2819a33e0', name: "primary" }), h("slot", { key: 'a45c19b93dca3719d75bd4d99acc49de87137a7d', name: "end" }))));
1292
+ })) }, h("div", { key: 'c6ad5434546e2046a83574ea92a03a3f77d0a9e3', class: "toolbar-background" }), h("div", { key: '3b79dd20c3e8252cacfd46a82428df9ba0b8b86e', class: "toolbar-container" }, h("slot", { key: '514259a8b76db9f3a587a7667b5e37fd8ade9481', name: "start" }), h("slot", { key: 'd9ab68f0626f4ac8b83d21663eb67a47b76d809b', name: "secondary" }), h("div", { key: '2c21da88b67a7d7eef280e517bda9982264c7be4', class: "toolbar-content" }, h("slot", { key: 'ac2b7c8f20c5ac755df9032809c73eab9e767e36' })), h("slot", { key: '2ddd3b7e3803f2d56c32743dcfc114ddcb8684a2', name: "primary" }), h("slot", { key: '27483847d4333b4492506da33185c9ba1aa824a7', name: "end" }))));
1293
1293
  }
1294
1294
  get el() { return getElement(this); }
1295
1295
  };
@@ -55,7 +55,7 @@ const Thumbnail = class {
55
55
  registerInstance(this, hostRef);
56
56
  }
57
57
  render() {
58
- return (h(Host, { key: '2b3d5139161f4b9075dce537c14b4087986b37c4', class: getIonMode(this) }, h("slot", { key: '3c4838c43e1230f9413a3cb66584417fd11382b2' })));
58
+ return (h(Host, { key: 'a12bfff6f372b19f6890a81f93ca6137701ee360', class: getIonMode(this) }, h("slot", { key: 'f546320896fee05677cc30f13aa7fa7c0360d69d' })));
59
59
  }
60
60
  };
61
61
  Thumbnail.style = IonThumbnailStyle0;
@@ -153,10 +153,10 @@ const Grid = class {
153
153
  }
154
154
  render() {
155
155
  const mode = getIonMode(this);
156
- return (h(Host, { key: '03a8975bb9320192033219fc9e06fe7afa4fae4a', class: {
156
+ return (h(Host, { key: '265ab989098511c0b7e7d99edc792081f3ac7dfe', class: {
157
157
  [mode]: true,
158
158
  'grid-fixed': this.fixed,
159
- } }, h("slot", { key: '8d95abb4614e73a46a274668c13fe7c7f011c537' })));
159
+ } }, h("slot", { key: '83e3ea4d1a60d1a6dab6b592e70a98924c0cfd7c' })));
160
160
  }
161
161
  };
162
162
  Grid.style = IonGridStyle0;
@@ -169,7 +169,7 @@ const Row = class {
169
169
  registerInstance(this, hostRef);
170
170
  }
171
171
  render() {
172
- return (h(Host, { key: 'de94b93c001a93b2a88bcb8e959f421fd5ad4a65', class: getIonMode(this) }, h("slot", { key: '41fa951758d3644bb77d80002caf6e25a79393ce' })));
172
+ return (h(Host, { key: '36d12784e6f8339a1d03ff6f03af5c7b3f437293', class: getIonMode(this) }, h("slot", { key: '54cc627f95bb091d31a550aca00b14ab73d2f1bf' })));
173
173
  }
174
174
  };
175
175
  Row.style = IonRowStyle0;
@@ -6,7 +6,7 @@ import { a as addEventListener, c as componentOnReady } from './helpers-be245865
6
6
  import { a as printIonError } from './index-9b0d46f4.js';
7
7
  import { c as createColorClasses } from './theme-01f3f29c.js';
8
8
  import { b as getIonMode } from './ionic-global-c836c8c6.js';
9
- import { s as parseDate, x as getToday, L as getHourCycle, S as getLocalizedDateTime, J as getMonthAndYear, M as getLocalizedTime, T as getMonthDayAndYear } from './data-0f3ab200.js';
9
+ import { s as parseDate, x as getToday, L as getHourCycle, N as getLocalizedDateTime, M as getLocalizedTime } from './data-bb424ba8.js';
10
10
 
11
11
  const iosDatetimeButtonCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}";
12
12
  const IonDatetimeButtonIosStyle0 = iosDatetimeButtonCss;
@@ -40,11 +40,12 @@ const DatetimeButton = class {
40
40
  * to the locale specified on ion-datetime.
41
41
  */
42
42
  this.setDateTimeText = () => {
43
+ var _a, _b, _c, _d, _e;
43
44
  const { datetimeEl, datetimePresentation } = this;
44
45
  if (!datetimeEl) {
45
46
  return;
46
47
  }
47
- const { value, locale, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
48
+ const { value, locale, formatOptions, hourCycle, preferWheel, multiple, titleSelectedDatesFormatter } = datetimeEl;
48
49
  const parsedValues = this.getParsedDateValues(value);
49
50
  /**
50
51
  * Both ion-datetime and ion-datetime-button default
@@ -67,8 +68,8 @@ const DatetimeButton = class {
67
68
  switch (datetimePresentation) {
68
69
  case 'date-time':
69
70
  case 'time-date':
70
- const dateText = getMonthDayAndYear(locale, firstParsedDatetime);
71
- const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
71
+ const dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { month: 'short', day: 'numeric', year: 'numeric' });
72
+ const timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
72
73
  if (preferWheel) {
73
74
  this.dateText = `${dateText} ${timeText}`;
74
75
  }
@@ -91,20 +92,20 @@ const DatetimeButton = class {
91
92
  this.dateText = headerText;
92
93
  }
93
94
  else {
94
- this.dateText = getMonthDayAndYear(locale, firstParsedDatetime);
95
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _b !== void 0 ? _b : { month: 'short', day: 'numeric', year: 'numeric' });
95
96
  }
96
97
  break;
97
98
  case 'time':
98
- this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle);
99
+ this.timeText = getLocalizedTime(locale, firstParsedDatetime, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time);
99
100
  break;
100
101
  case 'month-year':
101
- this.dateText = getMonthAndYear(locale, firstParsedDatetime);
102
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _c !== void 0 ? _c : { month: 'long', year: 'numeric' });
102
103
  break;
103
104
  case 'month':
104
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { month: 'long' });
105
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _d !== void 0 ? _d : { month: 'long' });
105
106
  break;
106
107
  case 'year':
107
- this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, { year: 'numeric' });
108
+ this.dateText = getLocalizedDateTime(locale, firstParsedDatetime, (_e = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) !== null && _e !== void 0 ? _e : { year: 'numeric' });
108
109
  break;
109
110
  }
110
111
  };
@@ -333,7 +334,7 @@ const DatetimeButton = class {
333
334
  render() {
334
335
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
335
336
  const mode = getIonMode(this);
336
- return (h(Host, { key: '36fe34d4225940611d74bdef5b954d54749d2dca', class: createColorClasses(color, {
337
+ return (h(Host, { key: 'a38773e24ea0a28315be89baf0ef97f564b5d74b', class: createColorClasses(color, {
337
338
  [mode]: true,
338
339
  [`${selectedButton}-active`]: datetimeActive,
339
340
  ['datetime-button-disabled']: disabled,