@ionic/core 9.0.3-dev.11788456135.1ab1d6cd → 9.0.3-dev.11790016799.1e269b7a

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 (183) hide show
  1. package/components/ion-accordion.js +1 -1
  2. package/components/ion-alert.js +1 -1
  3. package/components/ion-back-button.js +1 -1
  4. package/components/ion-breadcrumb.js +1 -1
  5. package/components/ion-checkbox.js +1 -1
  6. package/components/ion-datetime.js +1 -1
  7. package/components/ion-fab-button.js +1 -1
  8. package/components/ion-input-password-toggle.js +1 -1
  9. package/components/ion-input.js +1 -1
  10. package/components/ion-item.js +1 -1
  11. package/components/ion-menu-button.js +1 -1
  12. package/components/ion-refresher-content.js +1 -1
  13. package/components/ion-reorder.js +1 -1
  14. package/components/ion-searchbar.js +1 -1
  15. package/components/ion-select-modal.js +1 -1
  16. package/components/ion-select-popover.js +1 -1
  17. package/components/ion-select.js +1 -1
  18. package/components/ion-textarea.js +1 -1
  19. package/components/ion-toggle.js +1 -1
  20. package/components/{p-Cc3oC60a.js → p-0rXxxCTt.js} +1 -1
  21. package/components/p-B9ibhQu1.js +4 -0
  22. package/components/p-BzxHcuQH.js +4 -0
  23. package/components/p-C6wm_AQQ.js +4 -0
  24. package/components/p-CaxVJjmc.js +4 -0
  25. package/components/{p-Cm78Kk79.js → p-D2X-Hime.js} +1 -1
  26. package/css/ionic/bundle.ionic.css.map +1 -1
  27. package/css/ionic/core.ionic.css.map +1 -1
  28. package/css/ionic/global.bundle.ionic.css.map +1 -1
  29. package/css/ionic/ionic-swiper.ionic.css.map +1 -1
  30. package/css/ionic/link.ionic.css.map +1 -1
  31. package/css/ionic/typography.ionic.css.map +1 -1
  32. package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -14
  33. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  34. package/dist/cjs/ion-back-button.cjs.entry.js +11 -13
  35. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +16 -29
  36. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -15
  37. package/dist/cjs/ion-datetime.cjs.entry.js +14 -50
  38. package/dist/cjs/ion-fab_3.cjs.entry.js +9 -14
  39. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +17 -29
  40. package/dist/cjs/ion-input.cjs.entry.js +12 -28
  41. package/dist/cjs/ion-item_8.cjs.entry.js +10 -15
  42. package/dist/cjs/ion-menu_3.cjs.entry.js +9 -12
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +10 -5
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -13
  45. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -37
  46. package/dist/cjs/ion-select-modal.cjs.entry.js +11 -10
  47. package/dist/cjs/ion-select_3.cjs.entry.js +13 -37
  48. package/dist/cjs/ion-textarea.cjs.entry.js +13 -21
  49. package/dist/cjs/ion-toggle.cjs.entry.js +12 -28
  50. package/dist/collection/components/accordion/accordion.js +9 -14
  51. package/dist/collection/components/alert/alert.ionic.css +7 -9
  52. package/dist/collection/components/alert/alert.js +3 -3
  53. package/dist/collection/components/back-button/back-button.js +11 -13
  54. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -28
  55. package/dist/collection/components/checkbox/checkbox.ionic.css +35 -42
  56. package/dist/collection/components/checkbox/checkbox.ios.css +33 -29
  57. package/dist/collection/components/checkbox/checkbox.js +23 -13
  58. package/dist/collection/components/checkbox/checkbox.md.css +33 -29
  59. package/dist/collection/components/datetime/datetime.ios.css +5 -10
  60. package/dist/collection/components/datetime/datetime.js +12 -48
  61. package/dist/collection/components/datetime/datetime.md.css +5 -10
  62. package/dist/collection/components/fab-button/fab-button.js +9 -14
  63. package/dist/collection/components/input/input.ionic.css +102 -79
  64. package/dist/collection/components/input/input.js +11 -27
  65. package/dist/collection/components/input-password-toggle/input-password-toggle.js +18 -28
  66. package/dist/collection/components/item/item.js +10 -15
  67. package/dist/collection/components/menu-button/menu-button.js +9 -12
  68. package/dist/collection/components/refresher-content/refresher-content.js +10 -4
  69. package/dist/collection/components/reorder/reorder.js +5 -13
  70. package/dist/collection/components/searchbar/searchbar.js +8 -35
  71. package/dist/collection/components/select/select.ionic.css +187 -76
  72. package/dist/collection/components/select/select.js +14 -39
  73. package/dist/collection/components/select-modal/select-modal.js +12 -10
  74. package/dist/collection/components/textarea/textarea.ionic.css +133 -85
  75. package/dist/collection/components/textarea/textarea.ios.css +0 -4
  76. package/dist/collection/components/textarea/textarea.js +13 -18
  77. package/dist/collection/components/textarea/textarea.md.css +0 -4
  78. package/dist/collection/components/toggle/toggle.js +12 -26
  79. package/dist/collection/utils/test/playwright/field-geometry.js +34 -0
  80. package/dist/collection/utils/test/playwright/index.js +1 -0
  81. package/dist/docs.json +60 -25
  82. package/dist/esm/{index-BqQ15K9a.js → index-BkJpfpXI.js} +1 -1
  83. package/dist/esm/ion-accordion_2.entry.js +10 -15
  84. package/dist/esm/ion-alert.entry.js +4 -4
  85. package/dist/esm/ion-back-button.entry.js +12 -14
  86. package/dist/esm/ion-breadcrumb_2.entry.js +17 -30
  87. package/dist/esm/ion-checkbox.entry.js +24 -16
  88. package/dist/esm/ion-datetime.entry.js +15 -51
  89. package/dist/esm/ion-fab_3.entry.js +10 -15
  90. package/dist/esm/ion-input-password-toggle.entry.js +19 -31
  91. package/dist/esm/ion-input.entry.js +13 -29
  92. package/dist/esm/ion-item_8.entry.js +11 -16
  93. package/dist/esm/ion-menu_3.entry.js +10 -13
  94. package/dist/esm/ion-refresher_2.entry.js +11 -6
  95. package/dist/esm/ion-reorder_2.entry.js +6 -14
  96. package/dist/esm/ion-searchbar.entry.js +9 -38
  97. package/dist/esm/ion-select-modal.entry.js +13 -12
  98. package/dist/esm/ion-select_3.entry.js +14 -38
  99. package/dist/esm/ion-textarea.entry.js +13 -21
  100. package/dist/esm/ion-toggle.entry.js +13 -29
  101. package/dist/ionic/ionic.esm.js +1 -1
  102. package/dist/ionic/p-016f2ee0.entry.js +4 -0
  103. package/dist/ionic/p-07b95001.entry.js +4 -0
  104. package/dist/ionic/p-14dfe86e.entry.js +4 -0
  105. package/dist/ionic/p-167af5d6.entry.js +4 -0
  106. package/dist/ionic/p-18285aab.entry.js +4 -0
  107. package/dist/ionic/{p-2e3acd77.entry.js → p-1e0f0eb9.entry.js} +1 -1
  108. package/dist/ionic/p-368935f5.entry.js +4 -0
  109. package/dist/ionic/p-38da0794.entry.js +4 -0
  110. package/dist/ionic/p-80f71456.entry.js +4 -0
  111. package/dist/ionic/p-83aa4043.entry.js +4 -0
  112. package/dist/ionic/p-944ce631.entry.js +4 -0
  113. package/dist/ionic/{p-BqQ15K9a.js → p-BkJpfpXI.js} +1 -1
  114. package/dist/ionic/p-aecef1d7.entry.js +4 -0
  115. package/dist/ionic/p-bb83b861.entry.js +4 -0
  116. package/dist/ionic/p-c1c90068.entry.js +4 -0
  117. package/dist/ionic/p-ccc7487b.entry.js +4 -0
  118. package/dist/ionic/p-cfd5dc50.entry.js +4 -0
  119. package/dist/ionic/p-d5c9bf12.entry.js +4 -0
  120. package/dist/ionic/p-f252ab8a.entry.js +4 -0
  121. package/dist/types/components/accordion/accordion.d.ts +7 -1
  122. package/dist/types/components/back-button/back-button.d.ts +8 -2
  123. package/dist/types/components/breadcrumb/breadcrumb.d.ts +12 -2
  124. package/dist/types/components/checkbox/checkbox.d.ts +12 -1
  125. package/dist/types/components/datetime/datetime.d.ts +4 -4
  126. package/dist/types/components/fab-button/fab-button.d.ts +7 -1
  127. package/dist/types/components/input/input.d.ts +7 -10
  128. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -2
  129. package/dist/types/components/item/item.d.ts +7 -1
  130. package/dist/types/components/menu-button/menu-button.d.ts +6 -1
  131. package/dist/types/components/refresher-content/refresher-content.d.ts +6 -0
  132. package/dist/types/components/reorder/reorder.d.ts +1 -1
  133. package/dist/types/components/select/select.d.ts +7 -12
  134. package/dist/types/components/select-modal/select-modal.d.ts +6 -1
  135. package/dist/types/components/textarea/textarea.d.ts +8 -8
  136. package/dist/types/components/toggle/toggle.d.ts +5 -2
  137. package/dist/types/utils/config.d.ts +22 -2
  138. package/dist/types/utils/test/playwright/field-geometry.d.ts +13 -0
  139. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  140. package/hydrate/index.js +213 -375
  141. package/hydrate/index.mjs +213 -375
  142. package/package.json +1 -2
  143. package/components/p-B1AK6oR-.js +0 -4
  144. package/components/p-BDqjX7Z_.js +0 -4
  145. package/components/p-BYSs-jZz.js +0 -4
  146. package/components/p-CPdOdJa7.js +0 -4
  147. package/components/p-D1t981Ih.js +0 -4
  148. package/components/p-Dhi5xtNS.js +0 -4
  149. package/components/p-DzaPYdjZ.js +0 -4
  150. package/components/p-e73ca-aN.js +0 -4
  151. package/components/p-fIOYmaqA.js +0 -4
  152. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  153. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  154. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  155. package/dist/cjs/list-a-7GSA6K.js +0 -8
  156. package/dist/cjs/x-BTF99yFH.js +0 -8
  157. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  158. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  159. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  160. package/dist/esm/list-Dhi5xtNS.js +0 -6
  161. package/dist/esm/x-BDqjX7Z_.js +0 -6
  162. package/dist/ionic/p-04d96dad.entry.js +0 -4
  163. package/dist/ionic/p-0a924e6a.entry.js +0 -4
  164. package/dist/ionic/p-2da21af7.entry.js +0 -4
  165. package/dist/ionic/p-2fc1521f.entry.js +0 -4
  166. package/dist/ionic/p-73309d35.entry.js +0 -4
  167. package/dist/ionic/p-74ab5f49.entry.js +0 -4
  168. package/dist/ionic/p-83d13d56.entry.js +0 -4
  169. package/dist/ionic/p-8dcd18cf.entry.js +0 -4
  170. package/dist/ionic/p-9ca59419.entry.js +0 -4
  171. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  172. package/dist/ionic/p-BYSs-jZz.js +0 -4
  173. package/dist/ionic/p-D1t981Ih.js +0 -4
  174. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  175. package/dist/ionic/p-b10dc124.entry.js +0 -4
  176. package/dist/ionic/p-b7ce4a50.entry.js +0 -4
  177. package/dist/ionic/p-c7035f3f.entry.js +0 -4
  178. package/dist/ionic/p-c91fc9d4.entry.js +0 -4
  179. package/dist/ionic/p-cd4791d5.entry.js +0 -4
  180. package/dist/ionic/p-e9480e7f.entry.js +0 -4
  181. package/dist/ionic/p-e9fdff49.entry.js +0 -4
  182. package/dist/ionic/p-f82b13a6.entry.js +0 -4
  183. package/dist/ionic/p-fIOYmaqA.js +0 -4
@@ -15,10 +15,6 @@ var index$1 = require('./index-CxDnX7hd.js');
15
15
  require('./focus-visible-BIj-I3-C.js');
16
16
  require('./capacitor-w_r4U-_S.js');
17
17
 
18
- const checkSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjkuNjYsNzcuNjZsLTEyOCwxMjhhOCw4LDAsMCwxLTExLjMyLDBsLTU2LTU2YTgsOCwwLDAsMSwxMS4zMi0xMS4zMkw5NiwxODguNjksMjE4LjM0LDY2LjM0YTgsOCwwLDAsMSwxMS4zMiwxMS4zMloiLz48L3N2Zz4=';
19
-
20
- const minusSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0yMjQsMTI4YTgsOCwwLDAsMS04LDhINDBhOCw4LDAsMCwxLDAtMTZIMjE2QTgsOCwwLDAsMSwyMjQsMTI4WiIvPjwvc3ZnPg==';
21
-
22
18
  const toggleIonicCss = () => `:host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.toggle-disabled){pointer-events:none}input{display:none}:host(:focus){outline:none}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;white-space:normal}.toggle-bottom .error-text{display:none}.toggle-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:var(--token-primitives-neutral-500, #a2a2a2);--track-background-checked:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--border-radius:var(--token-border-radius-full, 999px);--focus-ring-color:var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));--focus-ring-width:var(--token-border-size-050, var(--token-scale-050, 2px));--handle-background:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--handle-background-checked:var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));--handle-border-radius:var(--token-border-radius-full, 999px);--handle-height:var(--token-scale-500, 20px);--handle-max-height:var(--token-scale-500, 20px);--handle-width:var(--token-scale-500, 20px);--handle-spacing:var(--token-space-050, var(--token-scale-050, 2px));--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms;font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;z-index:2}.toggle-wrapper{-ms-flex-align:center;align-items:center;min-height:var(--token-scale-1200, 48px)}.native-wrapper .toggle-icon{width:var(--token-scale-1100, 44px);height:var(--token-scale-600, 24px);overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}.toggle-bottom{font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none}.toggle-bottom .error-text{color:var(--token-text-danger, var(--token-semantics-danger-900, var(--token-primitives-red-900, #991b1b)))}.toggle-bottom .helper-text{color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262))}:host(.ion-focused) .toggle-icon{outline:var(--focus-ring-width) var(--token-border-style-solid, solid) var(--focus-ring-color);outline-offset:var(--focus-ring-width)}:host(.ion-focused){outline:none}:host(.ion-activated) .toggle-icon{background:var(--token-bg-neutral-base-press, var(--token-primitives-neutral-700, #777777))}:host(.ion-activated.toggle-checked) .toggle-icon{background:var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3)))}:host(.toggle-disabled) .toggle-icon::after{right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}.toggle-inner{will-change:background-color, transform;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}.toggle-inner .toggle-switch-icon{width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-end:var(--token-space-400, var(--token-scale-400, 16px));color:var(--token-text-default, var(--token-primitives-neutral-1200, #242424))}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:var(--token-space-400, var(--token-scale-400, 16px));margin-inline-start:var(--token-space-400, var(--token-scale-400, 16px));-webkit-margin-end:0;margin-inline-end:0}`;
23
19
 
24
20
  const toggleIosCss = () => `:host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.toggle-disabled){pointer-events:none}input{display:none}:host(:focus){outline:none}.toggle-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;white-space:normal}.toggle-bottom .error-text{display:none}.toggle-bottom .helper-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{z-index:2}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.toggle-bottom{padding-top:4px;font-size:0.75rem}:host(.toggle-label-placement-stacked) .toggle-bottom{font-size:1rem}.toggle-bottom .error-text{color:var(--ion-color-danger, #c5000f)}.toggle-bottom .helper-text{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #0054e9);--border-radius:15.5px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 4px rgba(0, 0, 0, 0.06), 0 3px 8px rgba(0, 0, 0, 0.06);--handle-height:calc(31px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(31px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}.native-wrapper .toggle-icon{width:51px;height:31px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color 300ms;transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity 300ms, color 300ms;transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark, #222428)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px}.toggle-switch-icon-checked-default{-webkit-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0);transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0);transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}:host(.ion-focused:not(.toggle-defers-indicator)) .toggle-icon{-webkit-box-shadow:0 0 0 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);box-shadow:0 0 0 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2)}:host(.ion-color.ion-focused.toggle-checked:not(.toggle-defers-indicator)) .toggle-icon{-webkit-box-shadow:0 0 0 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0 0 0 4px rgba(var(--ion-color-base-rgb), 0.2)}`;
@@ -252,22 +248,17 @@ const Toggle = class {
252
248
  setFocus() {
253
249
  this.el.focus();
254
250
  }
251
+ /**
252
+ * Get the default icon to use for the checked icon based on the theme.
253
+ */
255
254
  get toggleDefaultCheckedIcon() {
256
- // Determine the theme and map to default icons
255
+ // Determine the theme and map to the default icon
257
256
  const theme = ionicGlobal.getIonTheme(this);
258
- const defaultIcons = {
259
- ios: index$1.removeOutline,
260
- ionic: checkSvg,
261
- md: index$1.checkmarkOutline,
262
- };
263
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
264
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
265
- // Return the default icon
266
- return defaultIcon;
257
+ return theme === 'ios' ? index$1.removeOutline : index$1.checkmarkOutline;
267
258
  }
268
259
  /**
269
260
  * Get the icon to use for the checked icon.
270
- * Otherwise, use the icon set in the config.
261
+ * Use the icon set in the config.
271
262
  * If no icon is set in the config, use the default icon.
272
263
  */
273
264
  get toggleCheckedIcon() {
@@ -275,20 +266,13 @@ const Toggle = class {
275
266
  }
276
267
  /**
277
268
  * Get the icon to use for the unchecked icon.
278
- * Otherwise, use the icon set in the config.
269
+ * Use the icon set in the config.
279
270
  * If no icon is set in the config, use the default icon.
280
271
  */
281
272
  get toggleUncheckedIcon() {
282
- // Determine the theme and map to default icons
273
+ // Determine the theme and map to the default icon
283
274
  const theme = ionicGlobal.getIonTheme(this);
284
- const defaultIcons = {
285
- ios: index$1.ellipseOutline,
286
- ionic: minusSvg,
287
- md: index$1.removeOutline,
288
- };
289
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
290
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
291
- // Return the configured toggle unchecked icon or the default icon
275
+ const defaultIcon = theme === 'ios' ? index$1.ellipseOutline : index$1.removeOutline;
292
276
  return index.config.get('toggleUncheckedIcon', defaultIcon);
293
277
  }
294
278
  renderOnOffSwitchLabels(checked) {
@@ -357,7 +341,7 @@ const Toggle = class {
357
341
  // The attributes are matched too because the class needs the item to render.
358
342
  const inClickableItem = theme.hostContext('ion-item.ion-activatable, ion-item[button], ion-item[href]', el);
359
343
  helpers.renderHiddenInput(true, el, name, checked ? value : '', disabled);
360
- return (index.h(index.Host, { key: 'f3252e2c92ba027748413620748d479b8c865805', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? 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, class: theme.createColorClasses(color, {
344
+ return (index.h(index.Host, { key: '030fcdcc6074a283de193a04b4c52a9dda2a89b3', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? 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, class: theme.createColorClasses(color, {
361
345
  [theme$1]: true,
362
346
  'in-item': inItem,
363
347
  // `ion-focusable` has to stay on because it is what makes the item focusable.
@@ -372,10 +356,10 @@ const Toggle = class {
372
356
  [`toggle-label-placement-${labelPlacement}`]: true,
373
357
  [`toggle-${rtl}`]: true,
374
358
  'ion-activatable': isIonicTheme,
375
- }) }, index.h("label", { key: '29c8cb1ad33e2e5d982fa19f2ebcfa7b328f3be7', class: "toggle-wrapper", htmlFor: inputId }, index.h("input", { key: '8aefbd4f2be1d1cbe5350200aa0ff321370ff101', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required, ...inheritedAttributes }), index.h("div", { key: '4bbf765fed7eb016cbd560cf1bd8cd4e32a28f20', class: {
359
+ }) }, index.h("label", { key: '1d7d4f534661093ea5ea7c885ca7ba355983ff88', class: "toggle-wrapper", htmlFor: inputId }, index.h("input", { key: '43de25ac1c815db634915c302c934d0827b32b4c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required, ...inheritedAttributes }), index.h("div", { key: '9ed1fd6cd5b912b25628a2e2c29f0d758e0a7a24', class: {
376
360
  'label-text-wrapper': true,
377
361
  'label-text-wrapper-hidden': !hasLabel,
378
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, index.h("slot", { key: 'fbfd9fef85b53219b52b0736a7aa510877d52c78' }), this.renderHintText()), index.h("div", { key: 'b84836acce007f477c2a9c6dfaace3856068b58e', class: "native-wrapper" }, this.renderToggleControl()))));
362
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, index.h("slot", { key: '0b7834f1e125d8a9c0acc7577f344812ccaf52fe' }), this.renderHintText()), index.h("div", { key: '16bebe3d305cccbfcf4d85eb16ac3fe94ae2c59c', class: "native-wrapper" }, this.renderToggleControl()))));
379
363
  }
380
364
  get el() { return index.getElement(this); }
381
365
  static get watchers() { return {
@@ -1,7 +1,6 @@
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";
5
4
  import { Host, h } from "@stencil/core";
6
5
  import { addEventListener, getElementRoot, raf, removeEventListener, transitionEndAsync } from "../../utils/helpers";
7
6
  import { hostContext } from "../../utils/theme";
@@ -364,22 +363,18 @@ export class Accordion {
364
363
  this.setAria(expanded);
365
364
  });
366
365
  }
366
+ /**
367
+ * Get the icon to use for the toggle icon.
368
+ * If an icon is set on the component, use that.
369
+ * Otherwise, use the icon set in the config.
370
+ * If no icon is set in the config, use the default icon.
371
+ */
367
372
  get accordionToggleIcon() {
368
373
  // Return the icon if it is explicitly set
369
374
  if (this.toggleIcon != null) {
370
375
  return this.toggleIcon;
371
376
  }
372
- // Determine the theme and map to default icons
373
- const theme = getIonTheme(this);
374
- const defaultIcons = {
375
- ios: chevronDown,
376
- ionic: caretDownRegular,
377
- md: chevronDown,
378
- };
379
- // Get the default icon based on the theme, falling back to 'md' icon if necessary
380
- const defaultIcon = defaultIcons[theme] || defaultIcons.md;
381
- // Return the configured accordion toggle icon or the default icon
382
- return config.get('accordionToggleIcon', defaultIcon);
377
+ return config.get('accordionToggleIcon', chevronDown);
383
378
  }
384
379
  toggleExpanded() {
385
380
  const { accordionGroupEl, disabled, readonly, value, state } = this;
@@ -410,7 +405,7 @@ export class Accordion {
410
405
  const headerPart = expanded ? 'header expanded' : 'header';
411
406
  const contentPart = expanded ? 'content expanded' : 'content';
412
407
  this.setAria(expanded);
413
- return (h(Host, { key: 'dc4f4369be66507b8b0f0e28a8ab73d0d11d89ca', class: {
408
+ return (h(Host, { key: '815dda5c42051851dfb17312fee6eb60421b680b', class: {
414
409
  [theme]: true,
415
410
  'accordion-expanding': this.state === 8 /* AccordionState.Expanding */,
416
411
  'accordion-expanded': this.state === 4 /* AccordionState.Expanded */,
@@ -423,7 +418,7 @@ export class Accordion {
423
418
  'accordion-readonly': readonly,
424
419
  'accordion-animated': this.shouldAnimate(),
425
420
  'in-accordion-group-expand-inset': hostContext('.accordion-group-expand-inset', this.el),
426
- }, 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" })))));
421
+ }, tabindex: disabled ? '-1' : undefined }, h("div", { key: '0361184ad0b1a2dbb8879292313fc6ea4d6915aa', onClick: () => this.toggleExpanded(), id: "header", part: headerPart, "aria-controls": "content", ref: (headerEl) => (this.headerEl = headerEl) }, h("slot", { key: '1176aed8aebd66a17d365f2ecab4a40165a14a17', name: "header" })), h("div", { key: 'ebe6eabeedaee6a9fdcf8c989e706f5f42af54c2', id: "content", part: contentPart, role: "region", "aria-labelledby": "header", ref: (contentEl) => (this.contentEl = contentEl) }, h("div", { key: '5c9ebc847e8f161c8fcaf6f4af9ad42ce22217ac', id: "content-wrapper", ref: (contentElWrapper) => (this.contentElWrapper = contentElWrapper) }, h("slot", { key: 'a45d5a106dc635d4a8790cdd4fdf04c1b8e25987', name: "content" })))));
427
422
  }
428
423
  static get is() { return "ion-accordion"; }
429
424
  static get encapsulation() { return "shadow"; }
@@ -723,20 +723,18 @@ textarea.alert-input {
723
723
  inset-inline-end: var(--token-space-400, var(--token-scale-400, 16px));
724
724
  }
725
725
 
726
- .alert-checkbox-inner {
727
- width: var(--token-scale-400, 16px);
728
- height: var(--token-scale-400, 16px);
729
- }
730
-
731
- .alert-checkbox-inner path {
732
- fill: var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));
733
- }
734
-
735
726
  [aria-checked=true] .alert-checkbox-icon {
736
727
  border-color: var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)));
737
728
  background-color: var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef))));
738
729
  }
739
730
 
731
+ [aria-checked=true] .alert-checkbox-inner {
732
+ width: var(--token-scale-400, 16px);
733
+ height: var(--token-scale-400, 16px);
734
+ background-color: var(--token-bg-surface-default, var(--token-primitives-base-white, #ffffff));
735
+ clip-path: polygon(2.79% 58.21%, 33.75% 89.17%, 99.38% 23.54%, 90.54% 14.71%, 33.75% 71.49%, 11.63% 49.37%);
736
+ }
737
+
740
738
  .alert-button-group {
741
739
  -webkit-padding-start: 8px;
742
740
  padding-inline-start: 8px;
@@ -427,7 +427,7 @@ export class Alert {
427
427
  'alert-button-inner': true,
428
428
  [`checkbox-label-placement-${richInput.labelPlacement ?? defaultLabelPlacement}`]: true,
429
429
  [`checkbox-justify-${richInput.justify ?? defaultJustify}`]: true,
430
- } }, h("div", { class: "alert-checkbox-icon" }, theme === 'ionic' ? (h("svg", { class: "alert-checkbox-inner", viewBox: "0 0 256 256", "aria-hidden": "true" }, 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" }))) : (h("div", { class: "alert-checkbox-inner" }))), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), theme === 'md' && h("ion-ripple-effect", null)));
430
+ } }, h("div", { class: "alert-checkbox-icon" }, h("div", { class: "alert-checkbox-inner" })), renderOptionLabel(optionLabelOptions, 'alert-checkbox-label')), theme === 'md' && h("ion-ripple-effect", null)));
431
431
  })));
432
432
  }
433
433
  renderRadio() {
@@ -565,14 +565,14 @@ export class Alert {
565
565
  * If neither are defined, do not set aria-labelledby.
566
566
  */
567
567
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
568
- return (h(Host, { key: '79be0ec718f515228e2d14cf74f83da91839e7e3', tabindex: "-1", style: {
568
+ return (h(Host, { key: '607c6f27d3764f68110cf2ebd46e0829aaa432c7', tabindex: "-1", style: {
569
569
  zIndex: `${20000 + overlayIndex}`,
570
570
  }, class: {
571
571
  ...getClassMap(this.cssClass),
572
572
  [theme]: true,
573
573
  'overlay-hidden': true,
574
574
  'alert-translucent': this.translucent,
575
- }, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '38118ef27d201e578cbfd31357c97503c23ea4e1', tappable: this.backdropDismiss }), h("div", { key: 'a1b6123a0d56ba31a089acc8ac516adb64661f68', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'f893bbd5f6b3d0197afed8086bb865f1427dee75', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el), ...htmlAttributes }, h("div", { key: 'ab71e3723710a177ef471029b6f62e9d8f913b9c', class: "alert-head" }, header && (h("h2", { key: '11ba9be074b547bb8e64c22d97945844c279ce35', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '469bb832c8005a957613c70767dacc65377d8e74', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '30b8268dc6a34b0e5c976651d876126716974bae', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '06d07b2bbc966e979ead64afd5cc237142400cfb', tabindex: "0", "aria-hidden": "true" })));
575
+ }, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '263cdccbefb3a5ff2afe3184320988ae4cc10e7b', tappable: this.backdropDismiss }), h("div", { key: 'd5d67340a83500955d894865864da7cbb11a31df', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'bdc4d4f198d81a8901d08d68106bd8bf1ae3e9e2', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el), ...htmlAttributes }, h("div", { key: '79a9cda2d299b36fa4e1ac9abc501b5f324b3ddf', class: "alert-head" }, header && (h("h2", { key: '8d2ec86a3c0958822819b702d6957f8b703eba1e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '27f2982dbe925379e07fd71dbcf995db197d6f4c', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '6dde6c5d31748e13d5c0dcbf10107d71af4bcf91', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '0e5c2403ab6d04d84945b9375f99d29d7e6b67cc', tabindex: "0", "aria-hidden": "true" })));
576
576
  }
577
577
  static get is() { return "ion-alert"; }
578
578
  static get encapsulation() { return "scoped"; }
@@ -1,7 +1,6 @@
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";
5
4
  import { Host, h } from "@stencil/core";
6
5
  import { inheritAriaAttributes } from "../../utils/helpers";
7
6
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
@@ -42,21 +41,20 @@ export class BackButton {
42
41
  this.defaultHref = config.get('backButtonDefaultHref');
43
42
  }
44
43
  }
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
+ */
45
50
  get backButtonIcon() {
46
51
  // Return the icon if it is explicitly set
47
52
  if (this.icon != null) {
48
53
  return this.icon;
49
54
  }
50
- // Determine the theme and map to default icons
55
+ // Determine the theme and map to the default icon
51
56
  const theme = getIonTheme(this);
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;
59
- // Return the configured back button icon or the default icon
57
+ const defaultIcon = theme === 'ios' ? chevronBack : arrowBackSharp;
60
58
  return config.get('backButtonIcon', defaultIcon);
61
59
  }
62
60
  get backButtonText() {
@@ -64,7 +62,7 @@ export class BackButton {
64
62
  return this.text != null ? this.text : config.get('backButtonText', defaultBackButtonText);
65
63
  }
66
64
  get hasIconOnly() {
67
- return this.backButtonIcon && !this.backButtonText;
65
+ return !!this.backButtonIcon && !this.backButtonText;
68
66
  }
69
67
  get rippleType() {
70
68
  // If the button only has an icon we use the unbounded
@@ -79,7 +77,7 @@ export class BackButton {
79
77
  const showBackButton = defaultHref !== undefined;
80
78
  const theme = getIonTheme(this);
81
79
  const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
82
- return (h(Host, { key: '30cb7e566ef5182691373de93dbe694fb8cf72ed', onClick: this.onClick, class: createColorClasses(color, {
80
+ return (h(Host, { key: '76fb1f3b149f64429efb34ba245e2a823e040890', onClick: this.onClick, class: createColorClasses(color, {
83
81
  [theme]: true,
84
82
  button: true, // ion-buttons target .button
85
83
  'back-button-disabled': disabled,
@@ -89,7 +87,7 @@ export class BackButton {
89
87
  'ion-activatable': true,
90
88
  'ion-focusable': true,
91
89
  'show-back-button': showBackButton,
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 }))));
90
+ }) }, h("button", { key: '756332a61b212e4466ee45e7b7bf76a9e55d203f', type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { key: '2af18172b063251d103b92d28f5a0437cad3206e', class: "button-inner" }, backButtonIcon && (h("ion-icon", { key: 'd82c57dbfafbeeef019d42b3febcdbd045cc468a', part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false, "flip-rtl": icon === undefined })), backButtonText && (h("span", { key: 'd26836eb3ab34e95cbc0663971b7be66757ebee5', part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText))), theme === 'md' && h("ion-ripple-effect", { key: '28d049f7aaeab3320f6d0254c0f65721a8fcc43e', type: this.rippleType }))));
93
91
  }
94
92
  static get is() { return "ion-back-button"; }
95
93
  static get encapsulation() { return "shadow"; }
@@ -1,8 +1,6 @@
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";
6
4
  import { Host, h } from "@stencil/core";
7
5
  import { inheritAriaAttributes } from "../../utils/helpers";
8
6
  import { createColorClasses, hostContext, openURL } from "../../utils/theme";
@@ -50,31 +48,21 @@ export class Breadcrumb {
50
48
  componentWillLoad() {
51
49
  this.inheritedAttributes = inheritAriaAttributes(this.el);
52
50
  }
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
+ */
53
56
  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;
63
- // Return the configured breadcrumb collapsed icon or the default icon
64
- return config.get('breadcrumbCollapsedIcon', defaultIcon);
57
+ return config.get('breadcrumbCollapsedIcon', ellipsisHorizontal);
65
58
  }
59
+ /**
60
+ * Get the icon to use for the separator icon.
61
+ * Use the icon set in the config.
62
+ * If no icon is set in the config, use the default icon.
63
+ */
66
64
  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;
76
- // Return the configured breadcrumb separator icon or the default icon
77
- return config.get('breadcrumbSeparatorIcon', defaultIcon);
65
+ return config.get('breadcrumbSeparatorIcon', chevronForwardOutline);
78
66
  }
79
67
  isClickable() {
80
68
  return this.href !== undefined;
@@ -98,7 +86,7 @@ export class Breadcrumb {
98
86
  // to show the separator as long as it isn't also the last breadcrumb
99
87
  // otherwise if not collapsed use the value in separator
100
88
  const showSeparator = last ? false : collapsed ? (showCollapsedIndicator && !last ? true : false) : separator;
101
- return (h(Host, { key: 'eb02645656f4ee3752aa9f6c4dee2e57a8ee7527', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
89
+ return (h(Host, { key: '031903ec1227baa7843454eae78f856f41492d4a', onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation), "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
102
90
  [theme]: true,
103
91
  'breadcrumb-active': active,
104
92
  'breadcrumb-collapsed': collapsed,
@@ -108,15 +96,15 @@ export class Breadcrumb {
108
96
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
109
97
  'ion-activatable': clickable,
110
98
  'ion-focusable': clickable,
111
- }) }, h(TagType, { 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: {
99
+ }) }, h(TagType, { key: 'fa6064b743ee439c8c017494a4237f0905a290ac', ...attrs, class: "breadcrumb-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, ...inheritedAttributes }, h("slot", { key: '7a53001136b8d12d10fa33073dbf83f10895f0a5', name: "start" }), h("slot", { key: '8c3b8954a9dc1eea47b5b57992d98a871b78ea96' }), h("slot", { key: '91a87b34f478ab380bc116d2756f0dee099e071d', name: "end" })), showCollapsedIndicator && (h("button", { key: 'f9b87383ec50f3dc9d0863879fa87366a1013781', part: "collapsed-indicator", "aria-label": "Show more breadcrumbs", onClick: () => this.collapsedIndicatorClick(), ref: (collapsedEl) => (this.collapsedRef = collapsedEl), class: {
112
100
  'breadcrumbs-collapsed-indicator': true,
113
- } }, h("ion-icon", { key: '46d5821fee23327a23a4dfd7ad507ce551f7b00c', "aria-hidden": "true", icon: breadcrumbCollapsedIcon, lazy: false }))), showSeparator && (
101
+ } }, h("ion-icon", { key: '0d11ad830325fc6e614fc54577f50c400862690b', "aria-hidden": "true", icon: breadcrumbCollapsedIcon, lazy: false }))), showSeparator && (
114
102
  /**
115
103
  * Separators should not be announced by narrators.
116
104
  * We add aria-hidden on the span so that this applies
117
105
  * to any custom separators too.
118
106
  */
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, "/")))))));
107
+ h("span", { key: '7f167f93e1a46a8d6ae6de04c1dfc77cc0c1e7df', class: "breadcrumb-separator", part: "separator", "aria-hidden": "true" }, h("slot", { key: 'c75a176e0d2d5689470382b55dfcaac0299a6182', name: "separator" }, theme === 'ios' || theme === 'ionic' ? (h("ion-icon", { icon: breadcrumbSeparatorIcon, lazy: false, "flip-rtl": true })) : (h("span", null, "/")))))));
120
108
  }
121
109
  static get is() { return "ion-breadcrumb"; }
122
110
  static get encapsulation() { return "shadow"; }
@@ -63,6 +63,7 @@
63
63
  /**
64
64
  * @prop --size: Size of the checkbox icon
65
65
  *
66
+ * @prop --checkbox-background: Background of the checkbox icon
66
67
  * @prop --checkbox-background-checked: Background of the checkbox icon when checked
67
68
  *
68
69
  * @prop --border-color: Border color of the checkbox icon
@@ -74,7 +75,7 @@
74
75
  * @prop --transition: Transition of the checkbox icon
75
76
  *
76
77
  * @prop --checkmark-color: Color of the checkbox checkmark when checked
77
- * @prop --checkmark-width: Stroke width of the checkbox checkmark
78
+ * @prop --checkmark-width: Stroke width of the checkbox checkmark. Only applies when no icon is set in the config.
78
79
  */
79
80
  display: inline-block;
80
81
  position: relative;
@@ -137,16 +138,39 @@ input {
137
138
  }
138
139
 
139
140
  .native-wrapper {
141
+ border-radius: var(--border-radius);
140
142
  display: flex;
143
+ position: relative;
144
+ flex-shrink: 0;
141
145
  align-items: center;
146
+ width: var(--size);
147
+ height: var(--size);
148
+ transition: var(--transition);
149
+ border-width: var(--border-width);
150
+ border-style: var(--border-style);
151
+ border-color: var(--border-color);
152
+ background: var(--checkbox-background);
153
+ box-sizing: border-box;
142
154
  }
143
155
 
156
+ /**
157
+ * Apply the color to the ion-icon container so that the default
158
+ * checkmark icon and any configured icon apply color consistently.
159
+ */
144
160
  .checkbox-icon {
145
- position: relative;
161
+ color: var(--checkmark-color);
162
+ opacity: 0;
163
+ }
164
+
165
+ .checkbox-icon svg {
166
+ width: 100%;
167
+ height: 100%;
146
168
  }
147
169
 
148
170
  .checkbox-icon path {
149
- opacity: 0;
171
+ fill: none;
172
+ stroke: currentColor;
173
+ stroke-width: var(--checkmark-width);
150
174
  }
151
175
 
152
176
  .checkbox-bottom {
@@ -266,14 +290,14 @@ input {
266
290
  display: block;
267
291
  }
268
292
 
269
- :host(.checkbox-checked) .checkbox-icon,
270
- :host(.checkbox-indeterminate) .checkbox-icon {
293
+ :host(.checkbox-checked) .native-wrapper,
294
+ :host(.checkbox-indeterminate) .native-wrapper {
271
295
  border-color: var(--border-color-checked);
272
296
  background: var(--checkbox-background-checked);
273
297
  }
274
298
 
275
- :host(.checkbox-checked) .checkbox-icon path,
276
- :host(.checkbox-indeterminate) .checkbox-icon path {
299
+ :host(.checkbox-checked) .checkbox-icon,
300
+ :host(.checkbox-indeterminate) .checkbox-icon {
277
301
  opacity: 1;
278
302
  }
279
303
 
@@ -283,8 +307,6 @@ input {
283
307
 
284
308
  :host {
285
309
  /**
286
- * @prop --checkmark-height: Stroke height of the checkbox checkmark
287
- *
288
310
  * @prop --focus-ring-color: Color of the focus ring
289
311
  * @prop --focus-ring-width: Width of the focus ring
290
312
  * @prop --focus-ring-offset: Offset of the focus ring
@@ -292,8 +314,7 @@ input {
292
314
  --border-width: var(--token-border-size-025, var(--token-scale-025, 1px));
293
315
  --border-style: var(--token-border-style-solid, solid);
294
316
  --border-color: var(--token-primitives-neutral-800, #626262);
295
- --checkmark-width: var(--token-scale-400, 16px);
296
- --checkmark-height: var(--checkmark-width);
317
+ --checkmark-width: 3;
297
318
  --focus-ring-color: var(--token-border-focus-default, var(--token-primitives-blue-400, #b5c0f7));
298
319
  --focus-ring-width: var(--token-border-size-050, var(--token-scale-050, 2px));
299
320
  --focus-ring-offset: var(--token-space-050, var(--token-scale-050, 2px));
@@ -317,9 +338,6 @@ input {
317
338
  cursor: pointer;
318
339
  z-index: 1;
319
340
  }
320
- :host .native-wrapper {
321
- position: relative;
322
- }
323
341
 
324
342
  .label-text-wrapper {
325
343
  color: var(--token-text-default, var(--token-primitives-neutral-1200, #242424));
@@ -359,26 +377,11 @@ input {
359
377
  }
360
378
 
361
379
  .native-wrapper {
362
- border-radius: var(--border-radius);
363
- flex-shrink: 0;
364
380
  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;
373
381
  }
374
382
 
375
383
  .checkbox-icon {
376
- width: var(--checkmark-width);
377
- height: var(--checkmark-height);
378
- }
379
-
380
- .checkbox-icon path {
381
- fill: var(--checkmark-color);
384
+ font-size: calc(var(--size) * 2 / 3);
382
385
  }
383
386
 
384
387
  .checkbox-bottom {
@@ -455,12 +458,6 @@ input {
455
458
  --size: var(--token-scale-400, 16px);
456
459
  }
457
460
 
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
-
464
461
  :host(.ion-invalid) {
465
462
  --focus-ring-color: var(--token-border-danger-default, var(--token-semantics-danger-800, var(--token-primitives-red-800, #bf2222)));
466
463
  }
@@ -497,9 +494,7 @@ input {
497
494
  background-color: var(--token-primitives-neutral-100, #f3f3f3);
498
495
  }
499
496
  :host(:hover.checkbox-checked) .native-wrapper,
500
- :host(:hover.checkbox-checked) .checkbox-icon,
501
- :host(:hover.checkbox-indeterminate) .native-wrapper,
502
- :host(:hover.checkbox-indeterminate) .checkbox-icon {
497
+ :host(:hover.checkbox-indeterminate) .native-wrapper {
503
498
  background-color: var(--token-semantics-primary-800, var(--token-primitives-blue-800, #0f54da));
504
499
  }
505
500
  }
@@ -513,9 +508,7 @@ input {
513
508
  }
514
509
 
515
510
  :host(.ion-activated.checkbox-checked) .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 {
511
+ :host(.ion-activated.checkbox-indeterminate) .native-wrapper {
519
512
  background-color: var(--token-bg-primary-base-press, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3)));
520
513
  }
521
514