@ionic/core 8.8.20-dev.11789504012.1a675914 → 8.8.20-dev.11790000033.12788d65

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 (420) hide show
  1. package/components/ion-accordion.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-breadcrumb.js +1 -1
  6. package/components/ion-button.js +1 -1
  7. package/components/ion-card.js +1 -1
  8. package/components/ion-checkbox.js +1 -1
  9. package/components/ion-chip.js +1 -1
  10. package/components/ion-col.js +1 -1
  11. package/components/ion-content.js +1 -1
  12. package/components/ion-datetime-button.js +1 -1
  13. package/components/ion-datetime.js +1 -1
  14. package/components/ion-divider.js +1 -1
  15. package/components/ion-fab-button.js +1 -1
  16. package/components/ion-fab-list.js +1 -1
  17. package/components/ion-fab.js +1 -1
  18. package/components/ion-footer.js +1 -1
  19. package/components/ion-gallery-item.js +1 -1
  20. package/components/ion-gallery.js +1 -1
  21. package/components/ion-grid.js +1 -1
  22. package/components/ion-header.js +1 -1
  23. package/components/ion-img.js +1 -1
  24. package/components/ion-infinite-scroll-content.js +1 -1
  25. package/components/ion-infinite-scroll.js +1 -1
  26. package/components/ion-input-otp.js +1 -1
  27. package/components/ion-input-password-toggle.js +1 -1
  28. package/components/ion-input.js +1 -1
  29. package/components/ion-item-divider.js +1 -1
  30. package/components/ion-item-group.js +1 -1
  31. package/components/ion-item-option.js +1 -1
  32. package/components/ion-item-options.js +1 -1
  33. package/components/ion-item-sliding.js +1 -1
  34. package/components/ion-item.js +1 -1
  35. package/components/ion-label.js +1 -1
  36. package/components/ion-list-header.js +1 -1
  37. package/components/ion-list.js +1 -1
  38. package/components/ion-loading.js +1 -1
  39. package/components/ion-menu-button.js +1 -1
  40. package/components/ion-menu-toggle.js +1 -1
  41. package/components/ion-menu.js +1 -1
  42. package/components/ion-modal.js +1 -1
  43. package/components/ion-nav-link.js +1 -1
  44. package/components/ion-nav.js +1 -1
  45. package/components/ion-note.js +1 -1
  46. package/components/ion-picker-column-option.js +1 -1
  47. package/components/ion-picker-column.js +1 -1
  48. package/components/ion-picker-legacy-column.js +1 -1
  49. package/components/ion-picker-legacy.js +1 -1
  50. package/components/ion-picker.js +1 -1
  51. package/components/ion-popover.js +1 -1
  52. package/components/ion-progress-bar.js +1 -1
  53. package/components/ion-radio-group.js +1 -1
  54. package/components/ion-radio.js +1 -1
  55. package/components/ion-range.js +1 -1
  56. package/components/ion-refresher-content.js +1 -1
  57. package/components/ion-refresher.js +1 -1
  58. package/components/ion-reorder-group.js +1 -1
  59. package/components/ion-reorder.js +1 -1
  60. package/components/ion-ripple-effect.js +1 -1
  61. package/components/ion-router-link.js +1 -1
  62. package/components/ion-router-outlet.js +1 -1
  63. package/components/ion-row.js +1 -1
  64. package/components/ion-searchbar.js +1 -1
  65. package/components/ion-segment-button.js +1 -1
  66. package/components/ion-segment-content.js +1 -1
  67. package/components/ion-segment-view.js +1 -1
  68. package/components/ion-segment.js +1 -1
  69. package/components/ion-select-modal.js +1 -1
  70. package/components/ion-select-option.js +1 -1
  71. package/components/ion-select-popover.js +1 -1
  72. package/components/ion-select.js +1 -1
  73. package/components/ion-skeleton-text.js +1 -1
  74. package/components/ion-spinner.js +1 -1
  75. package/components/ion-split-pane.js +1 -1
  76. package/components/ion-tab-bar.js +1 -1
  77. package/components/ion-tab-button.js +1 -1
  78. package/components/ion-tab.js +1 -1
  79. package/components/ion-tabs.js +1 -1
  80. package/components/ion-text.js +1 -1
  81. package/components/ion-textarea.js +1 -1
  82. package/components/ion-thumbnail.js +1 -1
  83. package/components/ion-title.js +1 -1
  84. package/components/ion-toast.js +1 -1
  85. package/components/ion-toggle.js +1 -1
  86. package/components/ion-toolbar.js +1 -1
  87. package/components/{p-C8kcgEG7.js → p-B39i6rpY.js} +1 -1
  88. package/components/p-BDqjX7Z_.js +4 -0
  89. package/components/{p-CH8ypgvS.js → p-BLP69XoA.js} +1 -1
  90. package/components/p-BYSs-jZz.js +4 -0
  91. package/components/{p-C2J-Hvv3.js → p-B_a4XnF2.js} +1 -1
  92. package/components/p-Ba2Mmm22.js +4 -0
  93. package/components/p-BnQAsi91.js +4 -0
  94. package/components/{p-Br6q6Rgq.js → p-BrF4HSay.js} +1 -1
  95. package/components/{p-Dh1f5tAK.js → p-Bs5kME4N.js} +1 -1
  96. package/components/{p-CMtmHGrE.js → p-C1L59jNd.js} +1 -1
  97. package/components/{p-CNlz8OTE.js → p-C784We0w.js} +1 -1
  98. package/components/p-CA81qANP.js +4 -0
  99. package/components/{p-C5Bnq_Hm.js → p-CHB9zWT6.js} +1 -1
  100. package/components/p-CJNsztW3.js +4 -0
  101. package/components/{p-DqkLOArC.js → p-CWqLCAML.js} +1 -1
  102. package/components/p-CaB0_AG0.js +4 -0
  103. package/components/{p-C-cw-bM-.js → p-CaXMr1SL.js} +1 -1
  104. package/components/{p-0rXxxCTt.js → p-Cc3oC60a.js} +1 -1
  105. package/components/{p-C5JYXyPD.js → p-CxoHM559.js} +1 -1
  106. package/components/p-D1t981Ih.js +4 -0
  107. package/components/{p-BZxBDeEU.js → p-D2tZEPGv.js} +1 -1
  108. package/components/{p-BXXTyrCp.js → p-D6zl6ZA8.js} +1 -1
  109. package/components/{p-C898H5L0.js → p-DNweMi32.js} +1 -1
  110. package/components/p-Df6WZ6z0.js +4 -0
  111. package/components/p-Dhi5xtNS.js +4 -0
  112. package/components/{p-BcWO94Sl.js → p-DkfVuzjA.js} +1 -1
  113. package/components/{p-fUXE2zLc.js → p-Ds3yn-R0.js} +1 -1
  114. package/components/p-VrmyB-Wu.js +4 -0
  115. package/components/p-fIOYmaqA.js +4 -0
  116. package/components/p-vUGYs065.js +4 -0
  117. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  118. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  119. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  120. package/dist/cjs/ion-accordion_2.cjs.entry.js +13 -9
  121. package/dist/cjs/ion-app_8.cjs.entry.js +13 -13
  122. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  123. package/dist/cjs/ion-back-button.cjs.entry.js +11 -10
  124. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +27 -16
  125. package/dist/cjs/ion-checkbox.cjs.entry.js +14 -22
  126. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  127. package/dist/cjs/ion-col_3.cjs.entry.js +6 -6
  128. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  129. package/dist/cjs/ion-datetime_3.cjs.entry.js +48 -16
  130. package/dist/cjs/ion-divider.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  132. package/dist/cjs/ion-gallery-item.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-gallery.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  136. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  137. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +27 -17
  138. package/dist/cjs/ion-input.cjs.entry.js +13 -6
  139. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  140. package/dist/cjs/ion-item_8.cjs.entry.js +26 -22
  141. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  142. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -13
  143. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  144. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  145. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  146. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  147. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  148. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  149. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  152. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -11
  153. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -6
  154. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  155. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  156. package/dist/cjs/ion-searchbar.cjs.entry.js +34 -8
  157. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  158. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  159. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  160. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  161. package/dist/cjs/ion-select_3.cjs.entry.js +23 -10
  162. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  163. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  164. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  165. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  166. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  167. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  168. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  169. package/dist/cjs/ion-toggle.cjs.entry.js +27 -12
  170. package/dist/cjs/ionic.cjs.js +1 -1
  171. package/dist/cjs/list-a-7GSA6K.js +8 -0
  172. package/dist/cjs/loader.cjs.js +1 -1
  173. package/dist/cjs/x-BTF99yFH.js +8 -0
  174. package/dist/collection/components/accordion/accordion.js +13 -9
  175. package/dist/collection/components/back-button/back-button.js +11 -10
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +26 -16
  177. package/dist/collection/components/checkbox/checkbox.ionic.css +40 -33
  178. package/dist/collection/components/checkbox/checkbox.ios.css +24 -30
  179. package/dist/collection/components/checkbox/checkbox.js +12 -22
  180. package/dist/collection/components/checkbox/checkbox.md.css +24 -30
  181. package/dist/collection/components/chip/chip.js +2 -2
  182. package/dist/collection/components/col/col.js +2 -2
  183. package/dist/collection/components/content/content.js +3 -3
  184. package/dist/collection/components/datetime/datetime.js +44 -12
  185. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  186. package/dist/collection/components/divider/divider.js +2 -2
  187. package/dist/collection/components/fab/fab.js +2 -2
  188. package/dist/collection/components/fab-button/fab-button.js +13 -9
  189. package/dist/collection/components/fab-list/fab-list.js +2 -2
  190. package/dist/collection/components/footer/footer.js +2 -2
  191. package/dist/collection/components/gallery/gallery.js +2 -2
  192. package/dist/collection/components/gallery-item/gallery-item.js +2 -2
  193. package/dist/collection/components/grid/grid.js +2 -2
  194. package/dist/collection/components/header/header.ionic.css +7 -2
  195. package/dist/collection/components/header/header.js +2 -2
  196. package/dist/collection/components/img/img.js +2 -2
  197. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  198. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  199. package/dist/collection/components/input/input.js +13 -6
  200. package/dist/collection/components/input-otp/input-otp.js +3 -3
  201. package/dist/collection/components/input-password-toggle/input-password-toggle.js +26 -18
  202. package/dist/collection/components/item/item.js +14 -10
  203. package/dist/collection/components/item-divider/item-divider.js +2 -2
  204. package/dist/collection/components/item-group/item-group.js +1 -1
  205. package/dist/collection/components/item-option/item-option.js +2 -2
  206. package/dist/collection/components/item-options/item-options.js +1 -1
  207. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  208. package/dist/collection/components/label/label.js +2 -2
  209. package/dist/collection/components/list/list.js +1 -1
  210. package/dist/collection/components/list-header/list-header.js +2 -2
  211. package/dist/collection/components/loading/loading.js +2 -2
  212. package/dist/collection/components/menu/menu.js +2 -2
  213. package/dist/collection/components/menu-button/menu-button.js +11 -9
  214. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  215. package/dist/collection/components/modal/modal.js +4 -4
  216. package/dist/collection/components/nav/nav.js +1 -1
  217. package/dist/collection/components/nav-link/nav-link.js +1 -1
  218. package/dist/collection/components/note/note.js +2 -2
  219. package/dist/collection/components/picker/picker.js +2 -2
  220. package/dist/collection/components/picker-column/picker-column.js +3 -3
  221. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  222. package/dist/collection/components/picker-legacy/picker.js +2 -2
  223. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  224. package/dist/collection/components/popover/popover.js +2 -2
  225. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  226. package/dist/collection/components/radio/radio.js +3 -3
  227. package/dist/collection/components/radio-group/radio-group.js +2 -2
  228. package/dist/collection/components/range/range.js +3 -3
  229. package/dist/collection/components/refresher/refresher.js +1 -1
  230. package/dist/collection/components/refresher-content/refresher-content.js +4 -10
  231. package/dist/collection/components/reorder/reorder.js +12 -5
  232. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  233. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  234. package/dist/collection/components/router-link/router-link.js +2 -2
  235. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  236. package/dist/collection/components/row/row.js +2 -2
  237. package/dist/collection/components/searchbar/searchbar.js +32 -8
  238. package/dist/collection/components/segment/segment.js +2 -2
  239. package/dist/collection/components/segment-button/segment-button.js +2 -2
  240. package/dist/collection/components/segment-content/segment-content.js +1 -1
  241. package/dist/collection/components/segment-view/segment-view.js +2 -2
  242. package/dist/collection/components/select/select.js +20 -7
  243. package/dist/collection/components/select-modal/select-modal.js +8 -10
  244. package/dist/collection/components/select-option/select-option.js +1 -1
  245. package/dist/collection/components/select-popover/select-popover.js +2 -2
  246. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  247. package/dist/collection/components/spinner/spinner.js +1 -1
  248. package/dist/collection/components/split-pane/split-pane.js +2 -2
  249. package/dist/collection/components/tab/tab.js +2 -2
  250. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  251. package/dist/collection/components/tab-button/tab-button.js +2 -2
  252. package/dist/collection/components/tabs/tabs.js +1 -1
  253. package/dist/collection/components/text/text.js +2 -2
  254. package/dist/collection/components/textarea/textarea.js +3 -3
  255. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  256. package/dist/collection/components/title/title.js +2 -2
  257. package/dist/collection/components/toast/toast.js +2 -2
  258. package/dist/collection/components/toggle/toggle.js +25 -12
  259. package/dist/collection/components/toolbar/toolbar.js +2 -2
  260. package/dist/docs.json +10 -23
  261. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  262. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  263. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  264. package/dist/esm/{index-PnwG0glX.js → index-B4Kq2YNk.js} +1 -1
  265. package/dist/esm/ion-accordion_2.entry.js +14 -10
  266. package/dist/esm/ion-app_8.entry.js +13 -13
  267. package/dist/esm/ion-avatar_3.entry.js +2 -2
  268. package/dist/esm/ion-back-button.entry.js +12 -11
  269. package/dist/esm/ion-breadcrumb_2.entry.js +28 -17
  270. package/dist/esm/ion-checkbox.entry.js +15 -23
  271. package/dist/esm/ion-chip.entry.js +2 -2
  272. package/dist/esm/ion-col_3.entry.js +6 -6
  273. package/dist/esm/ion-datetime-button.entry.js +2 -2
  274. package/dist/esm/ion-datetime_3.entry.js +49 -17
  275. package/dist/esm/ion-divider.entry.js +2 -2
  276. package/dist/esm/ion-fab_3.entry.js +18 -14
  277. package/dist/esm/ion-gallery-item.entry.js +2 -2
  278. package/dist/esm/ion-gallery.entry.js +2 -2
  279. package/dist/esm/ion-img.entry.js +2 -2
  280. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  281. package/dist/esm/ion-input-otp.entry.js +3 -3
  282. package/dist/esm/ion-input-password-toggle.entry.js +29 -19
  283. package/dist/esm/ion-input.entry.js +14 -7
  284. package/dist/esm/ion-item-option_3.entry.js +4 -4
  285. package/dist/esm/ion-item_8.entry.js +27 -23
  286. package/dist/esm/ion-loading.entry.js +2 -2
  287. package/dist/esm/ion-menu_3.entry.js +16 -14
  288. package/dist/esm/ion-modal.entry.js +4 -4
  289. package/dist/esm/ion-nav_2.entry.js +2 -2
  290. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  291. package/dist/esm/ion-picker-column.entry.js +3 -3
  292. package/dist/esm/ion-picker.entry.js +2 -2
  293. package/dist/esm/ion-popover.entry.js +2 -2
  294. package/dist/esm/ion-progress-bar.entry.js +1 -1
  295. package/dist/esm/ion-radio_2.entry.js +5 -5
  296. package/dist/esm/ion-range.entry.js +3 -3
  297. package/dist/esm/ion-refresher_2.entry.js +7 -12
  298. package/dist/esm/ion-reorder_2.entry.js +14 -7
  299. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  300. package/dist/esm/ion-route_4.entry.js +2 -2
  301. package/dist/esm/ion-searchbar.entry.js +35 -9
  302. package/dist/esm/ion-segment-content.entry.js +1 -1
  303. package/dist/esm/ion-segment-view.entry.js +2 -2
  304. package/dist/esm/ion-segment_2.entry.js +4 -4
  305. package/dist/esm/ion-select-modal.entry.js +10 -11
  306. package/dist/esm/ion-select_3.entry.js +24 -11
  307. package/dist/esm/ion-spinner.entry.js +1 -1
  308. package/dist/esm/ion-split-pane.entry.js +2 -2
  309. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  310. package/dist/esm/ion-tab_2.entry.js +3 -3
  311. package/dist/esm/ion-text.entry.js +2 -2
  312. package/dist/esm/ion-textarea.entry.js +3 -3
  313. package/dist/esm/ion-toast.entry.js +2 -2
  314. package/dist/esm/ion-toggle.entry.js +28 -13
  315. package/dist/esm/ionic.js +1 -1
  316. package/dist/esm/list-Dhi5xtNS.js +6 -0
  317. package/dist/esm/loader.js +1 -1
  318. package/dist/esm/x-BDqjX7Z_.js +6 -0
  319. package/dist/ionic/ionic.esm.js +1 -1
  320. package/dist/ionic/p-0166d6e5.entry.js +4 -0
  321. package/dist/ionic/p-0a0a66e2.entry.js +4 -0
  322. package/dist/ionic/p-0c636ad3.entry.js +4 -0
  323. package/dist/ionic/p-126031d2.entry.js +4 -0
  324. package/dist/ionic/p-1a609156.entry.js +4 -0
  325. package/dist/ionic/{p-4c8178d8.entry.js → p-1b473bad.entry.js} +1 -1
  326. package/dist/ionic/p-1c1c18da.entry.js +4 -0
  327. package/dist/ionic/{p-3eff3411.entry.js → p-1ce65194.entry.js} +1 -1
  328. package/dist/ionic/{p-b7c75507.entry.js → p-2016c1c0.entry.js} +1 -1
  329. package/dist/ionic/{p-54579b68.entry.js → p-2365483a.entry.js} +1 -1
  330. package/dist/ionic/{p-7ae06f6f.entry.js → p-296226f1.entry.js} +1 -1
  331. package/dist/ionic/p-2a54aec2.entry.js +4 -0
  332. package/dist/ionic/{p-59e59209.entry.js → p-2bf60b77.entry.js} +1 -1
  333. package/dist/ionic/{p-0115c2fa.entry.js → p-2e0184c0.entry.js} +1 -1
  334. package/dist/ionic/{p-c9cda5ce.entry.js → p-2e1d650a.entry.js} +1 -1
  335. package/dist/ionic/{p-6b86cb62.entry.js → p-316eed75.entry.js} +1 -1
  336. package/dist/ionic/{p-311ef139.entry.js → p-31a0c9c2.entry.js} +1 -1
  337. package/dist/ionic/p-40a21a22.entry.js +4 -0
  338. package/dist/ionic/p-431bc3ce.entry.js +4 -0
  339. package/dist/ionic/p-51542c69.entry.js +4 -0
  340. package/dist/ionic/{p-e95618c4.entry.js → p-5dedd699.entry.js} +1 -1
  341. package/dist/ionic/{p-1147fa06.entry.js → p-68e453f7.entry.js} +1 -1
  342. package/dist/ionic/p-711ba315.entry.js +4 -0
  343. package/dist/ionic/{p-a4bed36b.entry.js → p-731d11e1.entry.js} +1 -1
  344. package/dist/ionic/{p-a7914fe5.entry.js → p-75c7595c.entry.js} +1 -1
  345. package/dist/ionic/p-76232f5f.entry.js +4 -0
  346. package/dist/ionic/{p-fe14205b.entry.js → p-7cbf17f0.entry.js} +1 -1
  347. package/dist/ionic/{p-9dff6288.entry.js → p-8303462c.entry.js} +1 -1
  348. package/dist/ionic/{p-2b5e04c5.entry.js → p-86208a0e.entry.js} +1 -1
  349. package/dist/ionic/{p-62602fbd.entry.js → p-9db78e5c.entry.js} +1 -1
  350. package/dist/ionic/{p-PnwG0glX.js → p-B4Kq2YNk.js} +1 -1
  351. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  352. package/dist/ionic/p-BYSs-jZz.js +4 -0
  353. package/dist/ionic/p-D1t981Ih.js +4 -0
  354. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  355. package/dist/ionic/{p-dda49380.entry.js → p-a9df0ccf.entry.js} +1 -1
  356. package/dist/ionic/p-ac3af8af.entry.js +4 -0
  357. package/dist/ionic/{p-f89fcf62.entry.js → p-b25f3aba.entry.js} +1 -1
  358. package/dist/ionic/p-b3da2cc7.entry.js +4 -0
  359. package/dist/ionic/p-b4533070.entry.js +4 -0
  360. package/dist/ionic/{p-4901a10b.entry.js → p-b4901bce.entry.js} +1 -1
  361. package/dist/ionic/{p-fd95a423.entry.js → p-bb7bb4fd.entry.js} +1 -1
  362. package/dist/ionic/{p-ace3062d.entry.js → p-be06def7.entry.js} +1 -1
  363. package/dist/ionic/p-c0983eac.entry.js +4 -0
  364. package/dist/ionic/{p-5386b094.entry.js → p-c4ebdfd2.entry.js} +1 -1
  365. package/dist/ionic/{p-1e45586e.entry.js → p-c4ed1e18.entry.js} +1 -1
  366. package/dist/ionic/p-dc8a8505.entry.js +4 -0
  367. package/dist/ionic/{p-b70775b0.entry.js → p-ddc41dbb.entry.js} +1 -1
  368. package/dist/ionic/p-df642ef5.entry.js +4 -0
  369. package/dist/ionic/p-e086f8c3.entry.js +4 -0
  370. package/dist/ionic/p-edd8f490.entry.js +4 -0
  371. package/dist/ionic/{p-dbd06d8d.entry.js → p-f0968c91.entry.js} +1 -1
  372. package/dist/ionic/{p-cc314123.entry.js → p-f6768728.entry.js} +1 -1
  373. package/dist/ionic/p-fIOYmaqA.js +4 -0
  374. package/dist/ionic/{p-0bfb8d9e.entry.js → p-fc726f4a.entry.js} +1 -1
  375. package/dist/ionic/{p-54baa1af.entry.js → p-ff74cf5d.entry.js} +1 -1
  376. package/dist/types/components/accordion/accordion.d.ts +0 -6
  377. package/dist/types/components/back-button/back-button.d.ts +0 -6
  378. package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -10
  379. package/dist/types/components/checkbox/checkbox.d.ts +1 -12
  380. package/dist/types/components/datetime/datetime.d.ts +4 -4
  381. package/dist/types/components/fab-button/fab-button.d.ts +0 -6
  382. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -12
  383. package/dist/types/components/item/item.d.ts +0 -6
  384. package/dist/types/components/menu-button/menu-button.d.ts +0 -5
  385. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -6
  386. package/dist/types/components/reorder/reorder.d.ts +1 -1
  387. package/dist/types/components/select-modal/select-modal.d.ts +0 -5
  388. package/dist/types/components/toggle/toggle.d.ts +2 -5
  389. package/dist/types/utils/config.d.ts +0 -19
  390. package/hydrate/index.js +416 -298
  391. package/hydrate/index.mjs +416 -298
  392. package/package.json +2 -1
  393. package/components/p-0MMiHJhx.js +0 -4
  394. package/components/p-CToV3-ig.js +0 -4
  395. package/components/p-CV7PNBGr.js +0 -4
  396. package/components/p-CgbD1udy.js +0 -4
  397. package/components/p-ClTdIlic.js +0 -4
  398. package/components/p-WeNgVmOy.js +0 -4
  399. package/components/p-eRqVSlkn.js +0 -4
  400. package/components/p-pztWcmzj.js +0 -4
  401. package/dist/ionic/p-0b2c58e0.entry.js +0 -4
  402. package/dist/ionic/p-208cecae.entry.js +0 -4
  403. package/dist/ionic/p-29f69d29.entry.js +0 -4
  404. package/dist/ionic/p-3f17704b.entry.js +0 -4
  405. package/dist/ionic/p-46e754ae.entry.js +0 -4
  406. package/dist/ionic/p-5196bee9.entry.js +0 -4
  407. package/dist/ionic/p-5ad0c670.entry.js +0 -4
  408. package/dist/ionic/p-7134537b.entry.js +0 -4
  409. package/dist/ionic/p-72eacca0.entry.js +0 -4
  410. package/dist/ionic/p-7bde9ee1.entry.js +0 -4
  411. package/dist/ionic/p-87ab986c.entry.js +0 -4
  412. package/dist/ionic/p-9e09cb80.entry.js +0 -4
  413. package/dist/ionic/p-a320cdb2.entry.js +0 -4
  414. package/dist/ionic/p-aa298c58.entry.js +0 -4
  415. package/dist/ionic/p-b920f149.entry.js +0 -4
  416. package/dist/ionic/p-c39025c0.entry.js +0 -4
  417. package/dist/ionic/p-d1f42864.entry.js +0 -4
  418. package/dist/ionic/p-d4506138.entry.js +0 -4
  419. package/dist/ionic/p-fcce2dda.entry.js +0 -4
  420. package/dist/ionic/p-fd2a869f.entry.js +0 -4
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import caretDownRegular from "@phosphor-icons/core/assets/regular/caret-down.svg";
4
5
  import { Host, h } from "@stencil/core";
5
6
  import { addEventListener, getElementRoot, raf, removeEventListener, transitionEndAsync } from "../../utils/helpers";
6
7
  import { hostContext } from "../../utils/theme";
@@ -364,19 +365,22 @@ export class Accordion {
364
365
  this.setAria(expanded);
365
366
  });
366
367
  }
367
- /**
368
- * Get the icon to use for the toggle icon.
369
- * If an icon is set on the component, use that.
370
- * Otherwise, use the icon set in the config.
371
- * If no icon is set in the config, use the default icon.
372
- */
373
368
  get accordionToggleIcon() {
374
369
  // Return the icon if it is explicitly set
375
370
  if (this.toggleIcon != null) {
376
371
  return this.toggleIcon;
377
372
  }
373
+ // Determine the theme and map to default icons
374
+ const theme = getIonTheme(this);
375
+ const defaultIcons = {
376
+ ios: chevronDown,
377
+ ionic: caretDownRegular,
378
+ md: chevronDown,
379
+ };
380
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
381
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
378
382
  // Return the configured accordion toggle icon or the default icon
379
- return config.get('accordionToggleIcon', chevronDown);
383
+ return config.get('accordionToggleIcon', defaultIcon);
380
384
  }
381
385
  toggleExpanded() {
382
386
  const { accordionGroupEl, disabled, readonly, value, state } = this;
@@ -407,7 +411,7 @@ export class Accordion {
407
411
  const headerPart = expanded ? 'header expanded' : 'header';
408
412
  const contentPart = expanded ? 'content expanded' : 'content';
409
413
  this.setAria(expanded);
410
- return (h(Host, { key: '2e516386263715b2843c0af02e7ac928df1da007', class: {
414
+ return (h(Host, { key: 'dc4f4369be66507b8b0f0e28a8ab73d0d11d89ca', class: {
411
415
  [theme]: true,
412
416
  'accordion-expanding': this.state === 8 /* AccordionState.Expanding */,
413
417
  'accordion-expanded': this.state === 4 /* AccordionState.Expanded */,
@@ -420,7 +424,7 @@ export class Accordion {
420
424
  'accordion-readonly': readonly,
421
425
  'accordion-animated': this.shouldAnimate(),
422
426
  'in-accordion-group-expand-inset': hostContext('.accordion-group-expand-inset', this.el),
423
- }, tabindex: disabled ? '-1' : undefined }, h("div", { key: 'd865a68388a1a7e6d594258a277a0b72a2565043', onClick: () => this.toggleExpanded(), id: "header", part: headerPart, "aria-controls": "content", ref: (headerEl) => (this.headerEl = headerEl) }, h("slot", { key: '1a5b7987a7e2b4903bdf5575c10f2995bcbc7a64', name: "header" })), h("div", { key: 'dbba2ad70c192a08e73e490876ad57f35499c551', id: "content", part: contentPart, role: "region", "aria-labelledby": "header", ref: (contentEl) => (this.contentEl = contentEl) }, h("div", { key: '0183fb76b3a8356b0d1d3f5cd53dd77e1bc196f4', id: "content-wrapper", ref: (contentElWrapper) => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'fa38df103feb66a412d7998e664f3c4818b20f75', name: "content" })))));
427
+ }, tabindex: disabled ? '-1' : undefined }, h("div", { key: '3e67b334a8b12eb337d2deae47b6a661cba41c74', onClick: () => this.toggleExpanded(), id: "header", part: headerPart, "aria-controls": "content", ref: (headerEl) => (this.headerEl = headerEl) }, h("slot", { key: 'ae7618fb460577c6c31995d8e842c1de16263985', name: "header" })), h("div", { key: '9fc9964f77b9344f763c9adf69ce0bc09534bc75', id: "content", part: contentPart, role: "region", "aria-labelledby": "header", ref: (contentEl) => (this.contentEl = contentEl) }, h("div", { key: '996cf517f866dc516e4ce488c647364e8b2726c8', id: "content-wrapper", ref: (contentElWrapper) => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'b48b4bc14e8ea1ef04c3e5acebbdf6f7c543c4c7', name: "content" })))));
424
428
  }
425
429
  static get is() { return "ion-accordion"; }
426
430
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import caretLeftRegular from "@phosphor-icons/core/assets/regular/caret-left.svg";
4
5
  import { Host, h } from "@stencil/core";
5
6
  import { inheritAriaAttributes } from "../../utils/helpers";
6
7
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
@@ -41,20 +42,20 @@ export class BackButton {
41
42
  this.defaultHref = config.get('backButtonDefaultHref');
42
43
  }
43
44
  }
44
- /**
45
- * Get the icon to use for the back button icon.
46
- * If an icon is set on the component, use that.
47
- * Otherwise, use the icon set in the config.
48
- * If no icon is set in the config, use the default icon.
49
- */
50
45
  get backButtonIcon() {
51
46
  // Return the icon if it is explicitly set
52
47
  if (this.icon != null) {
53
48
  return this.icon;
54
49
  }
55
- // Determine the theme and map to the default icon
50
+ // Determine the theme and map to default icons
56
51
  const theme = getIonTheme(this);
57
- const defaultIcon = theme === 'ios' ? chevronBack : arrowBackSharp;
52
+ const defaultIcons = {
53
+ ios: chevronBack,
54
+ ionic: caretLeftRegular,
55
+ md: arrowBackSharp,
56
+ };
57
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
58
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
58
59
  // Return the configured back button icon or the default icon
59
60
  return config.get('backButtonIcon', defaultIcon);
60
61
  }
@@ -78,7 +79,7 @@ export class BackButton {
78
79
  const showBackButton = defaultHref !== undefined;
79
80
  const theme = getIonTheme(this);
80
81
  const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
81
- return (h(Host, { key: '3ca97664cddb7582c8344b79143b81a9fb7f167a', onClick: this.onClick, class: createColorClasses(color, {
82
+ return (h(Host, { key: '30cb7e566ef5182691373de93dbe694fb8cf72ed', onClick: this.onClick, class: createColorClasses(color, {
82
83
  [theme]: true,
83
84
  button: true, // ion-buttons target .button
84
85
  'back-button-disabled': disabled,
@@ -88,7 +89,7 @@ export class BackButton {
88
89
  'ion-activatable': true,
89
90
  'ion-focusable': true,
90
91
  'show-back-button': showBackButton,
91
- }) }, h("button", { key: '49ec4655d6fbec75fd2b6f70973f98896d9accfe', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '8d701f9933253edab3627adf1b4dae681993e901', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: 'd5064dc4e5a327335fd45f21567fc1188cfcb635', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: '9c6611126bc7df058cb4c5669ec35c2456568717', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), theme === 'md' && h("ion-ripple-effect", { key: '2a88e395bc178ff2d1d14fcb8def5d679cb2e527', type: this.rippleType }))));
92
+ }) }, h("button", { key: 'be59bfbfec6e6591afee4beff7f0527bdd432dab', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '9118e5a082f9092307d80a53307f768461403928', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: '14193bf4f0edd1ba45f83ab664ddbe08f541997f', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: 'a83a8cdb8a95d67ff997c1e366a46c7ec2f7b9fc', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), theme === 'md' && h("ion-ripple-effect", { key: '11c5cc4b5eb3fc19db6e094d549546200ba2b90e', type: this.rippleType }))));
92
93
  }
93
94
  static get is() { return "ion-back-button"; }
94
95
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import caretRightRegular from "@phosphor-icons/core/assets/regular/caret-right.svg";
5
+ import dotsThreeRegular from "@phosphor-icons/core/assets/regular/dots-three.svg";
4
6
  import { Host, h } from "@stencil/core";
5
7
  import { inheritAriaAttributes } from "../../utils/helpers";
6
8
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
@@ -48,23 +50,31 @@ export class Breadcrumb {
48
50
  componentWillLoad() {
49
51
  this.inheritedAttributes = inheritAriaAttributes(this.el);
50
52
  }
51
- /**
52
- * Get the icon to use for the collapsed icon.
53
- * Use the icon set in the config.
54
- * If no icon is set in the config, use the default icon.
55
- */
56
53
  get breadcrumbCollapsedIcon() {
54
+ // Determine the theme and map to default icons
55
+ const theme = getIonTheme(this);
56
+ const defaultIcons = {
57
+ ios: ellipsisHorizontal,
58
+ ionic: dotsThreeRegular,
59
+ md: ellipsisHorizontal,
60
+ };
61
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
62
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
57
63
  // Return the configured breadcrumb collapsed icon or the default icon
58
- return config.get('breadcrumbCollapsedIcon', ellipsisHorizontal);
64
+ return config.get('breadcrumbCollapsedIcon', defaultIcon);
59
65
  }
60
- /**
61
- * Get the icon to use for the separator icon.
62
- * Use the icon set in the config.
63
- * If no icon is set in the config, use the default icon.
64
- */
65
66
  get breadcrumbSeparatorIcon() {
67
+ // Determine the theme and map to default icons
68
+ const theme = getIonTheme(this);
69
+ const defaultIcons = {
70
+ ios: chevronForwardOutline,
71
+ ionic: caretRightRegular,
72
+ md: chevronForwardOutline,
73
+ };
74
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
75
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
66
76
  // Return the configured breadcrumb separator icon or the default icon
67
- return config.get('breadcrumbSeparatorIcon', chevronForwardOutline);
77
+ return config.get('breadcrumbSeparatorIcon', defaultIcon);
68
78
  }
69
79
  isClickable() {
70
80
  return this.href !== undefined;
@@ -88,7 +98,7 @@ export class Breadcrumb {
88
98
  // to show the separator as long as it isn't also the last breadcrumb
89
99
  // otherwise if not collapsed use the value in separator
90
100
  const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
91
- return (h(Host, { key: '6b586bce50f2956edf0acd8506381b2cb14875f7', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
101
+ return (h(Host, { key: 'eb02645656f4ee3752aa9f6c4dee2e57a8ee7527', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
92
102
  [theme]: true,
93
103
  'breadcrumb-active': active,
94
104
  'breadcrumb-collapsed': collapsed,
@@ -98,15 +108,15 @@ export class Breadcrumb {
98
108
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
99
109
  'ion-activatable': clickable,
100
110
  'ion-focusable': clickable,
101
- }) }, h(TagType, Object.assign({ key: '5125505691163148ed2289355d5a2be93db7639d' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("slot", { key: 'c11682664ec3ad64f3e59a47f06cf5273b09fa5a', name: "start" }), h("slot", { key: 'eecb817103602a7c5d58f42dd4a1562333b0eabd' }), h("slot", { key: 'b9e050d01d0ba8491d64a670c151a2444be4c6b0', name: "end" })), showCollapsedIndicator && (h("button", { key: '72e49a761f43645987cf0adabd0698c724e87ce1', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
111
+ }) }, h(TagType, Object.assign({ key: '54ea53cd2e2f6cabca07565574971c80681f49d8' }, attrs, { class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("slot", { key: 'bd61fa6839550c381d559b0c3dccd42469374de2', name: "start" }), h("slot", { key: '095a422dc68e1ed78ea1b301bbea9c53e177cbba' }), h("slot", { key: '958b819ab4a37c9e6d6b5ea06da5bbcb01840627', name: "end" })), showCollapsedIndicator && (h("button", { key: '068f87ca666e09286e2fc09fae63e8bdbaad0900', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
102
112
  'breadcrumbs-collapsed-indicator': true,
103
- } }, h("ion-icon", { key: '8efee3f1675165e1bc92c57aef93aa74b53374cc', "aria-hidden": "true", icon: breadcrumbCollapsedIcon, lazy: false }))), showSeparator && (
113
+ } }, h("ion-icon", { key: '46d5821fee23327a23a4dfd7ad507ce551f7b00c', "aria-hidden": "true", icon: breadcrumbCollapsedIcon, lazy: false }))), showSeparator && (
104
114
  /**
105
115
  * Separators should not be announced by narrators.
106
116
  * We add aria-hidden on the span so that this applies
107
117
  * to any custom separators too.
108
118
  */
109
- h("span", { key: '17bf73869ccb702646afdc3498ef180aa3713b19', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: '13ac39a16f7fe90aaa65165b274ade80e01180b4', name: "separator" }, theme === 'ios' || theme === 'ionic' ? (h("ion-icon", { icon: breadcrumbSeparatorIcon, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
119
+ h("span", { key: '2520520d582b923c635548be4da74c138db38b46', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: 'e134f59f8fdc1d8602817a072adfc6f2a89885d7', name: "separator" }, theme === 'ios' || theme === 'ionic' ? (h("ion-icon", { icon: breadcrumbSeparatorIcon, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
110
120
  }
111
121
  static get is() { return "ion-breadcrumb"; }
112
122
  static get encapsulation() { return "shadow"; }
@@ -137,40 +137,16 @@ input {
137
137
  }
138
138
 
139
139
  .native-wrapper {
140
- border-radius: var(--border-radius);
141
140
  display: flex;
142
- position: relative;
143
- flex-shrink: 0;
144
141
  align-items: center;
145
- width: var(--size);
146
- height: var(--size);
147
- transition: var(--transition);
148
- border-width: var(--border-width);
149
- border-style: var(--border-style);
150
- border-color: var(--border-color);
151
- background: var(--checkbox-background);
152
- box-sizing: border-box;
153
142
  }
154
143
 
155
- /**
156
- * Apply the color to the ion-icon container so that the default
157
- * checkmark icon and any configured icon apply color consistently.
158
- */
159
144
  .checkbox-icon {
160
145
  position: relative;
161
- color: var(--checkmark-color);
162
- opacity: 0;
163
- }
164
-
165
- .checkbox-icon svg {
166
- width: 100%;
167
- height: 100%;
168
146
  }
169
147
 
170
148
  .checkbox-icon path {
171
- fill: none;
172
- stroke: currentColor;
173
- stroke-width: var(--checkmark-width);
149
+ opacity: 0;
174
150
  }
175
151
 
176
152
  .checkbox-bottom {
@@ -290,14 +266,14 @@ input {
290
266
  display: block;
291
267
  }
292
268
 
293
- :host(.checkbox-checked) .native-wrapper,
294
- :host(.checkbox-indeterminate) .native-wrapper {
269
+ :host(.checkbox-checked) .checkbox-icon,
270
+ :host(.checkbox-indeterminate) .checkbox-icon {
295
271
  border-color: var(--border-color-checked);
296
272
  background: var(--checkbox-background-checked);
297
273
  }
298
274
 
299
- :host(.checkbox-checked) .checkbox-icon,
300
- :host(.checkbox-indeterminate) .checkbox-icon {
275
+ :host(.checkbox-checked) .checkbox-icon path,
276
+ :host(.checkbox-indeterminate) .checkbox-icon path {
301
277
  opacity: 1;
302
278
  }
303
279
 
@@ -307,6 +283,8 @@ input {
307
283
 
308
284
  :host {
309
285
  /**
286
+ * @prop --checkmark-height: Stroke height of the checkbox checkmark
287
+ *
310
288
  * @prop --focus-ring-color: Color of the focus ring
311
289
  * @prop --focus-ring-width: Width of the focus ring
312
290
  * @prop --focus-ring-offset: Offset of the focus ring
@@ -314,7 +292,8 @@ input {
314
292
  --border-width: var(--token-border-size-025, var(--token-scale-025, 1px));
315
293
  --border-style: var(--token-border-style-solid, solid);
316
294
  --border-color: var(--token-primitives-neutral-800, #626262);
317
- --checkmark-width: 3;
295
+ --checkmark-width: var(--token-scale-400, 16px);
296
+ --checkmark-height: var(--checkmark-width);
318
297
  --focus-ring-color: var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));
319
298
  --focus-ring-width: var(--token-border-size-050, var(--token-scale-050, 2px));
320
299
  --focus-ring-offset: var(--token-space-050, var(--token-scale-050, 2px));
@@ -338,6 +317,9 @@ input {
338
317
  cursor: pointer;
339
318
  z-index: 1;
340
319
  }
320
+ :host .native-wrapper {
321
+ position: relative;
322
+ }
341
323
 
342
324
  .label-text-wrapper {
343
325
  color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
@@ -377,11 +359,26 @@ input {
377
359
  }
378
360
 
379
361
  .native-wrapper {
362
+ border-radius: var(--border-radius);
363
+ flex-shrink: 0;
380
364
  justify-content: center;
365
+ width: var(--size);
366
+ height: var(--size);
367
+ transition: var(--transition);
368
+ border-width: var(--border-width);
369
+ border-style: var(--border-style);
370
+ border-color: var(--border-color);
371
+ background: var(--checkbox-background);
372
+ box-sizing: border-box;
381
373
  }
382
374
 
383
375
  .checkbox-icon {
384
- font-size: calc(var(--size) * 2 / 3);
376
+ width: var(--checkmark-width);
377
+ height: var(--checkmark-height);
378
+ }
379
+
380
+ .checkbox-icon path {
381
+ fill: var(--checkmark-color);
385
382
  }
386
383
 
387
384
  .checkbox-bottom {
@@ -458,6 +455,12 @@ input {
458
455
  --size: var(--token-scale-400, 16px);
459
456
  }
460
457
 
458
+ :host(.checkbox-checked) .native-wrapper,
459
+ :host(.checkbox-indeterminate) .native-wrapper {
460
+ border-color: var(--border-color-checked);
461
+ background: var(--checkbox-background-checked);
462
+ }
463
+
461
464
  :host(.ion-invalid) {
462
465
  --focus-ring-color: var(--token-border-danger-default, var(--token-semantics-danger-800, var(--token-primitives-red-800, #bf2222)));
463
466
  }
@@ -494,7 +497,9 @@ input {
494
497
  background-color: var(--token-primitives-neutral-100, #f3f3f3);
495
498
  }
496
499
  :host(:hover.checkbox-checked) .native-wrapper,
497
- :host(:hover.checkbox-indeterminate) .native-wrapper {
500
+ :host(:hover.checkbox-checked) .checkbox-icon,
501
+ :host(:hover.checkbox-indeterminate) .native-wrapper,
502
+ :host(:hover.checkbox-indeterminate) .checkbox-icon {
498
503
  background-color: var(--token-semantics-primary-800, var(--token-primitives-blue-800, #0f54da));
499
504
  }
500
505
  }
@@ -508,7 +513,9 @@ input {
508
513
  }
509
514
 
510
515
  :host(.ion-activated.checkbox-checked) .native-wrapper,
511
- :host(.ion-activated.checkbox-indeterminate) .native-wrapper {
516
+ :host(.ion-activated.checkbox-checked) .checkbox-icon,
517
+ :host(.ion-activated.checkbox-indeterminate) .native-wrapper,
518
+ :host(.ion-activated.checkbox-indeterminate) .checkbox-icon {
512
519
  background-color: var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3)));
513
520
  }
514
521
 
@@ -220,40 +220,16 @@ input {
220
220
  }
221
221
 
222
222
  .native-wrapper {
223
- border-radius: var(--border-radius);
224
223
  display: flex;
225
- position: relative;
226
- flex-shrink: 0;
227
224
  align-items: center;
228
- width: var(--size);
229
- height: var(--size);
230
- transition: var(--transition);
231
- border-width: var(--border-width);
232
- border-style: var(--border-style);
233
- border-color: var(--border-color);
234
- background: var(--checkbox-background);
235
- box-sizing: border-box;
236
225
  }
237
226
 
238
- /**
239
- * Apply the color to the ion-icon container so that the default
240
- * checkmark icon and any configured icon apply color consistently.
241
- */
242
227
  .checkbox-icon {
243
228
  position: relative;
244
- color: var(--checkmark-color);
245
- opacity: 0;
246
- }
247
-
248
- .checkbox-icon svg {
249
- width: 100%;
250
- height: 100%;
251
229
  }
252
230
 
253
231
  .checkbox-icon path {
254
- fill: none;
255
- stroke: currentColor;
256
- stroke-width: var(--checkmark-width);
232
+ opacity: 0;
257
233
  }
258
234
 
259
235
  .checkbox-bottom {
@@ -373,14 +349,14 @@ input {
373
349
  display: block;
374
350
  }
375
351
 
376
- :host(.checkbox-checked) .native-wrapper,
377
- :host(.checkbox-indeterminate) .native-wrapper {
352
+ :host(.checkbox-checked) .checkbox-icon,
353
+ :host(.checkbox-indeterminate) .checkbox-icon {
378
354
  border-color: var(--border-color-checked);
379
355
  background: var(--checkbox-background-checked);
380
356
  }
381
357
 
382
- :host(.checkbox-checked) .checkbox-icon,
383
- :host(.checkbox-indeterminate) .checkbox-icon {
358
+ :host(.checkbox-checked) .checkbox-icon path,
359
+ :host(.checkbox-indeterminate) .checkbox-icon path {
384
360
  opacity: 1;
385
361
  }
386
362
 
@@ -405,6 +381,10 @@ input {
405
381
  --checkmark-color: var(--ion-color-contrast);
406
382
  }
407
383
 
384
+ .native-wrapper {
385
+ position: relative;
386
+ }
387
+
408
388
  :host(.ion-focused) .native-wrapper::after {
409
389
  border-radius: 50%;
410
390
  display: block;
@@ -435,7 +415,21 @@ input {
435
415
  }
436
416
 
437
417
  .checkbox-icon {
438
- font-size: calc(var(--size) - 2 * var(--border-width));
418
+ border-radius: var(--border-radius);
419
+ width: var(--size);
420
+ height: var(--size);
421
+ transition: var(--transition);
422
+ border-width: var(--border-width);
423
+ border-style: var(--border-style);
424
+ border-color: var(--border-color);
425
+ background: var(--checkbox-background);
426
+ box-sizing: border-box;
427
+ }
428
+
429
+ .checkbox-icon path {
430
+ fill: none;
431
+ stroke: var(--checkmark-color);
432
+ stroke-width: var(--checkmark-width);
439
433
  }
440
434
 
441
435
  .checkbox-bottom {
@@ -5,7 +5,6 @@ import { Build, Host, forceUpdate, h } from "@stencil/core";
5
5
  import { checkInvalidState, createItemMultipleInputsObserver } from "../../utils/forms/index";
6
6
  import { inheritAriaAttributes, renderHiddenInput } from "../../utils/helpers";
7
7
  import { createColorClasses, hostContext } from "../../utils/theme";
8
- import { config } from "../../global/config";
9
8
  import { getIonTheme } from "../../global/ionic-global";
10
9
  /**
11
10
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
@@ -15,8 +14,7 @@ import { getIonTheme } from "../../global/ionic-global";
15
14
  *
16
15
  * @part container - The container for the checkbox mark.
17
16
  * @part label - The label text describing the checkbox.
18
- * @part icon - The icon that displays the checkmark.
19
- * @part mark - The checkmark used to indicate the checked state. Only applies when no icon is set in the config.
17
+ * @part mark - The checkmark used to indicate the checked state.
20
18
  * @part supporting-text - Supporting text displayed beneath the checkbox label.
21
19
  * @part helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid.
22
20
  * @part error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched.
@@ -189,20 +187,6 @@ export class Checkbox {
189
187
  async setFocus() {
190
188
  this.el.focus();
191
189
  }
192
- /**
193
- * Get the icon to use for the checked icon.
194
- * Use the icon set in the config.
195
- */
196
- get checkboxCheckedIcon() {
197
- return config.get('checkboxCheckedIcon');
198
- }
199
- /**
200
- * Get the icon to use for the indeterminate icon.
201
- * Use the icon set in the config.
202
- */
203
- get checkboxIndeterminateIcon() {
204
- return config.get('checkboxIndeterminateIcon');
205
- }
206
190
  getHintTextId() {
207
191
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
208
192
  if (isInvalid && errorText) {
@@ -232,14 +216,13 @@ export class Checkbox {
232
216
  render() {
233
217
  const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, shape, size, } = this;
234
218
  const theme = getIonTheme(this);
235
- const markIcon = indeterminate ? this.checkboxIndeterminateIcon : this.checkboxCheckedIcon;
236
219
  const path = getSVGPath(theme, indeterminate);
237
220
  const inItem = hostContext('ion-item', el);
238
221
  const inMultipleInputsItem = hostContext('ion-item.item-multiple-inputs', el);
239
222
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
240
223
  // The host element must have a checkbox role to ensure proper VoiceOver
241
224
  // support in Safari for accessibility.
242
- return (h(Host, { key: 'c1eda757784c401a112edfc02c24e89a122fed4a', role: "checkbox", "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.hasLabelContent ? this.inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
225
+ return (h(Host, { key: '4a87b4c232e9dbf71a489ecd02ec94c1bd5cac24', role: "checkbox", "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.hasLabelContent ? this.inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
243
226
  [theme]: true,
244
227
  'in-item': inItem,
245
228
  'checkbox-checked': checked,
@@ -254,16 +237,23 @@ export class Checkbox {
254
237
  [`checkbox-label-placement-${labelPlacement}`]: true,
255
238
  [`checkbox-size-${size}`]: size !== undefined,
256
239
  [`checkbox-shape-${shape}`]: true,
257
- }) }, h("label", { key: '7d0ef2a71eeb2f6f49b506cf4e9e9917d70cecf5', class: "checkbox-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '676b7c47f3f8b971fd3c944381fa5c666c848817', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, required: required }, inheritedAttributes)), h("div", { key: 'e1e8083fc65c6708c4a9f918a05fe619b0397679', class: {
240
+ }) }, h("label", { key: '97aebc716e0ab1ef850620011a4e65f6318fca2c', class: "checkbox-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '47d3d3c93438cf3a135c162893ed502af8914a75', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, required: required }, inheritedAttributes)), h("div", { key: '70935ad2274e5b3f4973cda326abca237aa302f9', class: {
258
241
  'label-text-wrapper': true,
259
242
  'label-text-wrapper-hidden': !this.hasLabelContent,
260
- }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '22c909d61b4e8c14826818ae8329a45f77d5b414' }), this.renderHintText()), h("div", { key: 'f13a5f97d12d3b7753bf3734dac0ad70ad396c2b', class: "native-wrapper", part: "container" }, h("ion-icon", { key: '5976bb2ecf452a2a75412c667f1df7fc678d1179', class: "checkbox-icon", icon: markIcon, part: "icon", "aria-hidden": "true" }, h("svg", { key: '6f9306fdb6e3b332eb689dc8be329bc7679a492b', viewBox: "0 0 24 24" }, path))))));
243
+ }, part: "label", id: this.inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '22f27bd7afd0abefb112419355a0ce9f1a1403e9' }), this.renderHintText()), h("div", { key: 'fda4acb438bafcfdcfefd860e3f92335d4b9ea74', class: "native-wrapper" }, h("svg", { key: 'bab1161b88d36511546cb49ae3d411a16bd60a08', class: "checkbox-icon", viewBox: theme === 'ionic' ? '0 0 256 256' : '0 0 24 24', part: "container", "aria-hidden": "true" }, path)))));
261
244
  }
262
245
  getSVGPath(theme, indeterminate) {
263
246
  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" }));
264
- if (theme === 'md' || theme === 'ionic') {
247
+ if (theme === 'md') {
265
248
  path = indeterminate ? (h("path", { d: "M2 12H22", part: "mark" })) : (h("path", { d: "M1.73,12.91 8.1,19.28 22.79,4.59", part: "mark" }));
266
249
  }
250
+ else if (theme === 'ionic') {
251
+ path = indeterminate ? (
252
+ // Phosphor Icon - minus bold
253
+ h("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" })) : (
254
+ // Phosphor Icon - check bold
255
+ h("path", { d: "M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z" }));
256
+ }
267
257
  return path;
268
258
  }
269
259
  static get is() { return "ion-checkbox"; }
@@ -220,40 +220,16 @@ input {
220
220
  }
221
221
 
222
222
  .native-wrapper {
223
- border-radius: var(--border-radius);
224
223
  display: flex;
225
- position: relative;
226
- flex-shrink: 0;
227
224
  align-items: center;
228
- width: var(--size);
229
- height: var(--size);
230
- transition: var(--transition);
231
- border-width: var(--border-width);
232
- border-style: var(--border-style);
233
- border-color: var(--border-color);
234
- background: var(--checkbox-background);
235
- box-sizing: border-box;
236
225
  }
237
226
 
238
- /**
239
- * Apply the color to the ion-icon container so that the default
240
- * checkmark icon and any configured icon apply color consistently.
241
- */
242
227
  .checkbox-icon {
243
228
  position: relative;
244
- color: var(--checkmark-color);
245
- opacity: 0;
246
- }
247
-
248
- .checkbox-icon svg {
249
- width: 100%;
250
- height: 100%;
251
229
  }
252
230
 
253
231
  .checkbox-icon path {
254
- fill: none;
255
- stroke: currentColor;
256
- stroke-width: var(--checkmark-width);
232
+ opacity: 0;
257
233
  }
258
234
 
259
235
  .checkbox-bottom {
@@ -373,14 +349,14 @@ input {
373
349
  display: block;
374
350
  }
375
351
 
376
- :host(.checkbox-checked) .native-wrapper,
377
- :host(.checkbox-indeterminate) .native-wrapper {
352
+ :host(.checkbox-checked) .checkbox-icon,
353
+ :host(.checkbox-indeterminate) .checkbox-icon {
378
354
  border-color: var(--border-color-checked);
379
355
  background: var(--checkbox-background-checked);
380
356
  }
381
357
 
382
- :host(.checkbox-checked) .checkbox-icon,
383
- :host(.checkbox-indeterminate) .checkbox-icon {
358
+ :host(.checkbox-checked) .checkbox-icon path,
359
+ :host(.checkbox-indeterminate) .checkbox-icon path {
384
360
  opacity: 1;
385
361
  }
386
362
 
@@ -405,6 +381,10 @@ input {
405
381
  --checkmark-color: var(--ion-color-contrast);
406
382
  }
407
383
 
384
+ .native-wrapper {
385
+ position: relative;
386
+ }
387
+
408
388
  :host(.ion-focused) .native-wrapper::after {
409
389
  border-radius: 50%;
410
390
  display: block;
@@ -435,7 +415,21 @@ input {
435
415
  }
436
416
 
437
417
  .checkbox-icon {
438
- font-size: calc(var(--size) - 2 * var(--border-width));
418
+ border-radius: var(--border-radius);
419
+ width: var(--size);
420
+ height: var(--size);
421
+ transition: var(--transition);
422
+ border-width: var(--border-width);
423
+ border-style: var(--border-style);
424
+ border-color: var(--border-color);
425
+ background: var(--checkbox-background);
426
+ box-sizing: border-box;
427
+ }
428
+
429
+ .checkbox-icon path {
430
+ fill: none;
431
+ stroke: var(--checkmark-color);
432
+ stroke-width: var(--checkmark-width);
439
433
  }
440
434
 
441
435
  .checkbox-bottom {
@@ -56,7 +56,7 @@ export class Chip {
56
56
  const theme = getIonTheme(this);
57
57
  const size = this.getSize();
58
58
  const shape = this.getShape();
59
- return (h(Host, { key: 'b6ac6f314aca3dae06b9a6b38468d82807f7f883', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
59
+ return (h(Host, { key: 'ec10528929fb43fcae7d2d7c9cc52bcf67d9823e', "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
60
60
  [theme]: true,
61
61
  [`chip-${shape}`]: true,
62
62
  'chip-outline': this.outline,
@@ -65,7 +65,7 @@ export class Chip {
65
65
  'ion-focusable': !this.disabled,
66
66
  [`chip-${size}`]: size !== undefined,
67
67
  [`chip-${hue}`]: hue !== undefined,
68
- }) }, h("slot", { key: '0da90695097e5403e6e540f592e67240fb6c4a14' }), theme === 'md' && h("ion-ripple-effect", { key: '764b2a54d45120578a178054ea44b6980e3f63e9' })));
68
+ }) }, h("slot", { key: 'c88e9a90b9de62fded05d4323c5b4f86f2f3e96d' }), theme === 'md' && h("ion-ripple-effect", { key: 'f0395345064db0e02cbc886386b07d0d01cb02be' })));
69
69
  }
70
70
  static get is() { return "ion-chip"; }
71
71
  static get encapsulation() { return "shadow"; }
@@ -81,12 +81,12 @@ export class Col {
81
81
  const colSize = this.getSizeClass();
82
82
  const colOrder = this.getOrderClass();
83
83
  const colOffset = this.getOffsetClass();
84
- return (h(Host, { key: '3a56b2a9b995148f709dc3c0fe862ea6d1a273d8', class: {
84
+ return (h(Host, { key: '7fc98e15bd75e9c22fe7eaf71f2f49f5d987613a', class: {
85
85
  [theme]: true,
86
86
  [`${colSize}`]: colSize !== undefined,
87
87
  [`${colOrder}`]: colOrder !== undefined,
88
88
  [`${colOffset}`]: colOffset !== undefined,
89
- } }, h("slot", { key: '1b7336c386b92376cd287ebf85b10d245f5c9ab4' })));
89
+ } }, h("slot", { key: '6ed04a2c2bcdb0400354368c568e58414a60fc39' })));
90
90
  }
91
91
  static get is() { return "ion-col"; }
92
92
  static get encapsulation() { return "shadow"; }